前后端分離和服務端渲染
眾所周知, 我們的頁面, 也就是我們打開的 html 文件也是存儲在服務器上面,只不過我們在地址欄輸入了地址以后, 會根據對應的規則找到對應的服務器,拿到這個 html 文件, 被瀏覽器解析顯示了出來,不管 html 文件, 你所有的 圖片, 視音頻, css, html, js 文件其實都是存儲在服務器上面的。
1.前后端分離
其實就是前端干前端的事情, 后端干后端的事情,也就是我們以前的情況,當你在地址欄輸入地址的時候,服務器返回一個文件給你,當這個文件運行的時候, 通過執行內部的 js 代碼,發送一個 ajax 請求,拿到對應返回的數據,把數據渲染在頁面上。
2.服務端渲染
其實就是在服務端把所有的事情做完, 直接把結果給到前端,剛才我們說了, 頁面等所有文件其實都是存儲在服務器上面的。當你在地址欄輸入地址以后,服務器會找到你需要的 html 文件, 但是先不給你,然后去找到當前這個文件內所需要的數據內容,然后, 把數據內容組裝成一個 html 結構插入到頁面內,然后把插入好數據的頁面直接返回給你。
區別
1.數據渲染
前后端分離 : 后端把數據返回給客戶端, 在客戶端運算渲染出來
服務端渲染 : 后端把數據直接渲染在了 html 文件上, 把渲染好的文件給你
2.源文件
前后端分離 : 你得到的 html 源文件是沒有對應的渲染內容的, 需要依靠執行 js 渲染
服務端渲染 : 你得到的 html 源文件就是所有數據都書寫好的文件
3.頁面加載速度
前后端分離 : 得到 html 頁面以后, 還需要等待 ajax 請求數據再進行渲染
服務端渲染 : 得到的 html 就是完整的最終頁面, 直接展示即可
4.SEO
前后端分離 : 因為頁面沒有結構, 所以不利于搜索引擎抓取
服務端渲染 : 得到的 html 就是完整內容, 搜索引擎可以抓取到所有內容