作者asleepme (500年没换昵称了)
看板Soft_Job
标题[请益] 前後端完全分开的缺点
时间Fri Oct 12 13:54:17 2018
请问有经验的大大,如果专案把前後端分开
前端如下:
介面、美工、js,资料都透过api跟後端要
开发时可以画好前端,转成css,js做程式部分
然後跟後端把api接口定义好
後端:
商业逻辑、後端资料库、3rd api ...
就做一堆api给前端用
这样看起来不错,但是不是也代表後端的api其他人也看得到,也可以用?
如果不想某些资料被外人用api拿到
最後还是只能server side把资料跟页面都结合起来
再一并送给end user?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.136.172.87
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1539323660.A.6C1.html
1F:推 tsao1211: 页面和资料放在一起一样拿的到啊 10/12 13:59
2F:→ shvanta: 验证授权後发Token给前端, 之後前端呼叫API都带Token 10/12 14:00
3F:推 lturtsamuel: 你写在一起 别人用爬虫难道抓不到? 10/12 14:07
4F:推 JuicyChen: 要加权限控管啊 token不对就不送资料 10/12 14:19
5F:推 alihue: 一个人开发的时候,会变慢 10/12 14:27
6F:推 handsomeLin: 感觉你根本没写过网站吧... 10/12 14:36
7F:推 Lleytonhewit: 呃 先学学什麽叫API API可以怎麽开发怎麽用 google 10/12 14:54
8F:→ Lleytonhewit: 不难吧 10/12 14:54
9F:推 g66932007: 你跟我要资料 我就要给你?? 的概念 10/12 15:08
10F:推 peanut97: CORS 的问题啊,早就有解了 10/12 15:16
11F:推 pilor: JWT 你一定没写过 API 10/12 15:18
12F:推 neo5277: 有GATEWAY TOKENSERVICE OAUTH这些啊... 10/12 15:19
13F:推 jack0204: google就一堆资料了 api authentication 10/12 15:23
14F:嘘 DCTmaybe: 去把推文提到的关键字查过一轮再说 10/12 15:25
15F:→ asleepme: 对不起..这可能是个错误的方向,所以这样分开完全没缺点? 10/12 15:42
16F:推 tsao1211: 还是有啊,单人开发,小网站,开发速度就会慢 10/12 15:44
17F:→ pttworld: 案件金额在一百万以下的网站我架构时不会分离 10/12 15:59
18F:→ inxbone: seo要花功夫 10/12 16:24
19F:推 ccorn: 刚刚正想去ajax版问这个问题...原来会被嘘阿 10/12 17:13
20F:→ iamshiao: 我唯一可以想到的缺点是雇主要请比较多人无法 cost do 10/12 17:17
21F:→ iamshiao: wn 10/12 17:17
22F:推 pkro12345: 缺点是老板要多请一个人的薪水 10/12 17:18
23F:→ nekosgr93: 借题发挥问问题: api是否一定是跟Ajax(或其他任何非同 10/12 17:55
24F:→ nekosgr93: 步技术)绑在一起 因为传统的response是带网页 api只有 10/12 17:55
25F:→ nekosgr93: 带资料 这样好像就只能透过Ajax去把资料转换成网页内容 10/12 17:55
26F:→ nekosgr93: ? 10/12 17:55
27F:→ tsao1211: 网页常用ajax取得api资料 10/12 18:01
28F:推 sa0124: 开no-cors 就可以限制了 10/12 18:53
29F:→ bndan: = = 混在一起一样能解阿...基本上各面考量分开>>混在一起 10/12 20:02
30F:→ bndan: 大概除了惯老板的成本估算法才会是分开比混在一起差吧 10/12 20:02
31F:→ netburst: 跟TOKEN无关吧 原PO想把API来源藏起来 F12也看不到 10/12 20:30
32F:→ netburst: 最简单的就是用SV语言再包一层 但是好累 10/12 20:31
33F:→ shvanta: API来源藏起来? 从没听过愿闻其详 10/12 20:55
34F:推 crossdunk: api来源看是为什麽要藏啊 单纯藏机器就用haproxy 10/12 22:27
35F:嘘 vn509942: Token 10/13 01:24
36F:→ vn509942: 你可以思考怎麽挡掉从别的 domain 来的 request 10/13 01:31
37F:→ neo5277: 来源藏起来就弄个gateway啊 10/13 01:55
38F:推 vi000246: 这样说好了 一般的网站response的是html 而api回应的是 10/13 02:21
39F:→ vi000246: json或xml 有现成工具能解析 而html需要手动去解析 10/13 02:22
40F:→ vi000246: 不论你用的是不是api 公开在外面的东西都是会被拿到的 10/13 02:22
41F:推 neo5277: 那自定义封包格式吧 10/13 03:05
42F:推 knives: 最大的缺点就是老板要多出一份薪水给前端 10/13 09:42
43F:推 chocopie: 想隔空抓药是不太容易 10/13 09:44
44F:→ BlueBird5566: 为什麽不是多出一份薪水给後端 10/13 09:44
45F:推 NCUking: 因为一般来说惯老板会要後段兼前段 10/13 11:43
46F:推 knives: 楼上正解 10/13 12:15
47F:→ riddlefree: 会有这样想法,是因为缺乏整体系统架构的概念,包涵 10/13 17:25
48F:→ riddlefree: 防火墙,三层式架构 10/13 17:25
49F:→ riddlefree: 附注,楼上前端与後端的定义,很多人不一样 10/13 17:31
50F:嘘 goldberg123: 内文叙述就知道你没写过後端,不然就是你公司资安方 10/13 18:27
51F:→ goldberg123: 面很弱 10/13 18:27
52F:→ netburst: 没写过就没写过啊原PO也许就前端被主管凹这需求 $又没多 10/13 21:49
53F:→ netburst: 後端或OP不动当然就前端去藏啊 10/13 21:49
54F:→ A90812345: 同事很78的话很痛苦 他做後端要前端配合他 他做前端就 10/14 13:24
55F:→ A90812345: 要後端配合他 改东西只会改自己那端方便的改法 唉 10/14 13:24
56F:→ bndan: 应该说在分开之前 就是後端工程师兼前端阿...这个模式走了 10/15 03:12
57F:→ bndan: 少说10~15年了... 10/15 03:12
58F:推 Happpppy: DEBUG遇到机八的後端很不方便 10/16 08:35
59F:→ sakilu: 工作是为了赚钱 你觉得哪个方法毛利高就用哪个 case by ca 10/17 20:39
60F:→ sakilu: se. 理想上当然拆开比较好 但是如果只有你一个人开发你写 10/17 20:39
61F:→ sakilu: 的API只有你呼叫 网站也没几个人用 那你拆开来是写来自hig 10/17 20:39
62F:→ sakilu: h吗 10/17 20:39
63F:→ lonki719: 哪有什麽优缺点 只是你了解程度 10/30 23:00