作者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/m.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