優化上有很多面向,包括像針對後端,讓後端伺服器壓力變小、針對使用者,讓畫面更新流暢不會卡…
因此我將拆分幾篇,分別初探前端優化的不同面向
今天先來談談怎麼幫後端伺服器減輕壓力,來達到網頁的優化
當使用者變多,網站流量變大,API請求暴增,因為有些靜態的資源(如圖片、JS、CSS)放在資料庫,因此重複、頻繁的請求就會造成延遲、伺服器過載等問題
如果前端能減少請求數量與大小,就能替後端分擔壓力,讓整體效能提升
目的:減少網路的請求,降低伺服器負擔,來縮短資源載入時間
(這部份就只有大概提到而已,想要深入看可以去參考資料那邊的連結看那些文章)
減少請求數量、大小
善用快取(Cache)
把資料存到Cache,就不用每次都要和server溝通,減少server壓力
下面是幾個cache稍稍介紹一下(之後可能再詳細寫一篇cache的內容)
HTTP Cache-Control:
cache-control: max-age=60
Service Worker Cache:
LocalStorage / SessionStorage:
(這邊之前有提過,就不再提了,可以去看Day9的文章)
使用 CDN(Content Delivery Network,內容傳遞網路)
CDN在各地建立edge server讓取資源的時候不用一直都去跟距離很遠的server溝通。使用的時候一開始還是要比較久和server溝通,但之後就會將內容存到CDN cache,請求的時候也會自動導向比較近且現在流量比較寬裕的edge server溝通
CDN可以:
避免高頻率 API 請求
https://ithelp.ithome.com.tw/articles/10281389
https://ithelp.ithome.com.tw/articles/10277764
https://ithelp.ithome.com.tw/articles/10276666
https://ithelp.ithome.com.tw/articles/10276125
https://medium.com/@b09112332/認識service-worker-f2d2e74bd3c0
https://www.explainthis.io/zh-hant/swe/http-caching