日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

前后端分离实践一

發布時間:2025/4/16 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 前后端分离实践一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?


在開始討論這個話題之前我們先來認識一下傳統的開發模式。

一、傳統開發模式

相信很多做過Web開發童鞋應該都會經歷這樣一種開發模式,利用后端語言提供的模版引擎編寫HTML/XML頁面,比如:

  • PHP 開發有 Smarty模板引擎
  • Java web工程有jsp頁面
  • Python 各個Web框架都有各自的模板引擎
  • NodeJS 的express你懂得

都有一個共同的特點,服務器端后臺語言生成解析后的HTML/XML格式返回給客戶端,例如瀏覽器端訪問直接返回解析好的HTML,瀏覽器直接就解釋執行。

二、Ajax過渡

Ajax是把前后端分離部署的推進者,當時網頁局部更新就是未來前后端分離的開端。那什么是前后端分離開發呢?

簡單來說就是前端開發不需要部署后臺語言那堆垃圾環境,后端開發也不需要前端寫好的任何程序,后臺只管暴露各種API接口提供前端進行數據的增刪改查,不負責生成HTML頁面

前端請求到數據后再動態聲稱dom節點。

三、前端構建

相對于后臺來說,前端構建是重點,因為前后端分離開發后側重點在于前端,后端就是一個數據提供,權限控制api。

后端項目通常都帶自己的Server,除了PHP以外,所以后端做PHP開發的還需要一個WebServer,Apache就是經典配合,最近被拋棄換做Nginx了,所以后臺環境本來就是偽生產環境。

前端項目還是要搭建一個Server,然后把項目丟里邊才能跑起來調試開發,最笨的直接整一個Apache或者Nginx也可以,但這樣開發還是很痛苦。可以利用Node工具集即可,Node工具集非常多,比如我非常喜歡用的BrowserSync。

四、解決請求問題

前后端分離后,我們只需要Server端告訴我們Api URL即可,那么這會產生一個問題:Ajax跨域。這里就不能使用一般的跨域解決方法去解決,比如jsonp,iframe信使等等,因為我們還有POST請求。

于是Http Proxy類工具就有用了,比如我就會在BrowserSync加入中間件判斷每一個請求,如果是/api前綴就會代理到API Server端,API Server端收到數據后再返回給BrowserSync,BrowserSync再返回給瀏覽器端。這樣就解決跨域請求的問題

生產環境有兩種部署,一種是放到后臺項目里,這就沒啥說的,另外一種就是前后端分開部署,那就在前端WebServer處理端寫點轉發規則就好,如Nginx,Apache都支持。

五、靜態資源路徑問題

如果你的項目有上傳資源功能,那自然就會產生用戶資源,那前后端分離后,如何來處理這個問題呢?得先看模式。

資源與后臺項目放一起,后臺處理完后需要返回前臺一個相對路徑,如果資源時一臺單獨的服務器,那就需要返回資源的絕對URL即可。

六、會話

Web項目最頭疼的就是無狀態導致會話問題,傳統的Web項目都使用Session/Cookie,但在前后端分離,集群部署模式下這Session明顯缺陷太多。token方式已經是當前Web端解決會話的主流,并且有很多開源好用的token生成管理程序,基本上拿來就能用。?
最后

前后端分離的弱點,無非有兩點

1、前端負載增多,如請求到列表后,前端需要自己遍歷數據集聲稱DOM節點 (目前絕大多數用戶的電腦配置都不差,而且瀏覽器內核已經不在是滿身缺陷的IE瀏覽器了)

2、不利于蜘蛛(其實現在的部分蜘蛛已經很厲害了,能夠支持H5 C3效果)

強點,

1、Web端就像手機端的App一樣,不需要Cookie/Session,與Server完全分離,易于維護、擴展。一個Server API可以隨意服務多個Web App

2、AngularJS用過了以后,你應該會感覺未來的Web開發模式,AngularJS在幾乎是前后端分離的領航者

3、前端靜態資源與后臺API分流,互不影響,甚至不會存在IO問題

4、開發上與后臺幾乎同步,互相不影響,特別是基于RESTFul API風格,更是減少了溝通的成本

5、方便各自debug,Java開發人員不需要跑到前端開發人員機器上看tomcat控制臺的報錯,前端開發人員也不需要跑到后端開發人員的機器上看瀏覽器報錯調試

轉載于:https://www.cnblogs.com/ONEPIECE-ZY/p/6292388.html

總結

以上是生活随笔為你收集整理的前后端分离实践一的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。