作者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://www.ptt.cc/bbs/Soft_Job/M.1539323660.A.6C1.html
推 tsao1211: 頁面和資料放在一起一樣拿的到啊 10/12 13:59
→ shvanta: 驗證授權後發Token給前端, 之後前端呼叫API都帶Token 10/12 14:00
推 lturtsamuel: 你寫在一起 別人用爬蟲難道抓不到? 10/12 14:07
推 JuicyChen: 要加權限控管啊 token不對就不送資料 10/12 14:19
推 alihue: 一個人開發的時候,會變慢 10/12 14:27
推 handsomeLin: 感覺你根本沒寫過網站吧... 10/12 14:36
推 Lleytonhewit: 呃 先學學什麼叫API API可以怎麼開發怎麼用 google 10/12 14:54
→ Lleytonhewit: 不難吧 10/12 14:54
推 g66932007: 你跟我要資料 我就要給你?? 的概念 10/12 15:08
推 peanut97: CORS 的問題啊,早就有解了 10/12 15:16
推 pilor: JWT 你一定沒寫過 API 10/12 15:18
推 neo5277: 有GATEWAY TOKENSERVICE OAUTH這些啊... 10/12 15:19
推 jack0204: google就一堆資料了 api authentication 10/12 15:23
噓 DCTmaybe: 去把推文提到的關鍵字查過一輪再說 10/12 15:25
→ asleepme: 對不起..這可能是個錯誤的方向,所以這樣分開完全沒缺點? 10/12 15:42
推 tsao1211: 還是有啊,單人開發,小網站,開發速度就會慢 10/12 15:44
→ pttworld: 案件金額在一百萬以下的網站我架構時不會分離 10/12 15:59
→ inxbone: seo要花功夫 10/12 16:24
推 ccorn: 剛剛正想去ajax版問這個問題...原來會被噓阿 10/12 17:13
→ iamshiao: 我唯一可以想到的缺點是雇主要請比較多人無法 cost do 10/12 17:17
→ iamshiao: wn 10/12 17:17
推 pkro12345: 缺點是老闆要多請一個人的薪水 10/12 17:18
→ nekosgr93: 借題發揮問問題: api是否一定是跟Ajax(或其他任何非同 10/12 17:55
→ nekosgr93: 步技術)綁在一起 因為傳統的response是帶網頁 api只有 10/12 17:55
→ nekosgr93: 帶資料 這樣好像就只能透過Ajax去把資料轉換成網頁內容 10/12 17:55
→ nekosgr93: ? 10/12 17:55
→ tsao1211: 網頁常用ajax取得api資料 10/12 18:01
推 sa0124: 開no-cors 就可以限制了 10/12 18:53
→ bndan: = = 混在一起一樣能解阿...基本上各面考量分開>>混在一起 10/12 20:02
→ bndan: 大概除了慣老闆的成本估算法才會是分開比混在一起差吧 10/12 20:02
→ netburst: 跟TOKEN無關吧 原PO想把API來源藏起來 F12也看不到 10/12 20:30
→ netburst: 最簡單的就是用SV語言再包一層 但是好累 10/12 20:31
→ shvanta: API來源藏起來? 從沒聽過願聞其詳 10/12 20:55
推 crossdunk: api來源看是為什麼要藏啊 單純藏機器就用haproxy 10/12 22:27
噓 vn509942: Token 10/13 01:24
→ vn509942: 你可以思考怎麼擋掉從別的 domain 來的 request 10/13 01:31
→ neo5277: 來源藏起來就弄個gateway啊 10/13 01:55
推 vi000246: 這樣說好了 一般的網站response的是html 而api回應的是 10/13 02:21
→ vi000246: json或xml 有現成工具能解析 而html需要手動去解析 10/13 02:22
→ vi000246: 不論你用的是不是api 公開在外面的東西都是會被拿到的 10/13 02:22
推 neo5277: 那自定義封包格式吧 10/13 03:05
推 knives: 最大的缺點就是老闆要多出一份薪水給前端 10/13 09:42
推 chocopie: 想隔空抓藥是不太容易 10/13 09:44
→ BlueBird5566: 為什麼不是多出一份薪水給後端 10/13 09:44
推 NCUking: 因為一般來說慣老闆會要後段兼前段 10/13 11:43
推 knives: 樓上正解 10/13 12:15
→ riddlefree: 會有這樣想法,是因為缺乏整體系統架構的概念,包涵 10/13 17:25
→ riddlefree: 防火牆,三層式架構 10/13 17:25
→ riddlefree: 附註,樓上前端與後端的定義,很多人不一樣 10/13 17:31
噓 goldberg123: 內文敘述就知道你沒寫過後端,不然就是你公司資安方 10/13 18:27
→ goldberg123: 面很弱 10/13 18:27
→ netburst: 沒寫過就沒寫過啊原PO也許就前端被主管凹這需求 $又沒多 10/13 21:49
→ netburst: 後端或OP不動當然就前端去藏啊 10/13 21:49
→ A90812345: 同事很78的話很痛苦 他做後端要前端配合他 他做前端就 10/14 13:24
→ A90812345: 要後端配合他 改東西只會改自己那端方便的改法 唉 10/14 13:24
→ bndan: 應該說在分開之前 就是後端工程師兼前端阿...這個模式走了 10/15 03:12
→ bndan: 少說10~15年了... 10/15 03:12
推 Happpppy: DEBUG遇到機八的後端很不方便 10/16 08:35
→ sakilu: 工作是為了賺錢 你覺得哪個方法毛利高就用哪個 case by ca 10/17 20:39
→ sakilu: se. 理想上當然拆開比較好 但是如果只有你一個人開發你寫 10/17 20:39
→ sakilu: 的API只有你呼叫 網站也沒幾個人用 那你拆開來是寫來自hig 10/17 20:39
→ sakilu: h嗎 10/17 20:39
→ lonki719: 哪有什麼優缺點 只是你了解程度 10/30 23:00