http
快取機制其實是提高訪問速度和解決資訊不同步的一種機制。這種資訊不同步在生活中很常見,很多解決思路我們已經司空見慣,帶著這種思維,我們可以很好的理解http
快取機制。http
快取機制要點如下:
http
快取機制分為強制快取和協商快取兩類。
強制快取的意思就是不要問了(不發起請求),直接用快取吧。
強制快取常見技術有expires
和cache-control
。
expires
的值是乙個時間,表示這個時間前快取都有效,都不需要發起請求。
cache-control
有很多屬性值,常用屬性max-age
設定了快取有效的時間長度,單位為秒
,這個時間沒到,都不用發起請求。
immutable
也是cache-control
的乙個屬性,
cache-control
的max-age
優先順序比expires
高。
協商快取常見技術有etag
和last-modified
。
etag
其實就是給資源算乙個hash
值或者版本號,對應的常用request header
為if-none-match
。
last-modified
其實就是加上資源修改的時間,對應的常用request header
為if-modified-since
,精度為秒
。
etag
每次修改都會改變,而last-modified
的精度只到秒
,所以etag
更準確,優先順序更高,但是需要計算,所以服務端開銷更大。
強制快取和協商快取都存在的情況下,先判斷強制快取是否生效,如果生效,不用發起請求,直接用快取。如果強制快取不生效再發起請求判斷協商快取。
表示這個資源這輩子都不用再請求了,但是他相容性不好,cache-control
其他屬性可以參考
showtooltip
HTTP 快取策略
瀏覽器一般快取 css js等靜態檔案,因為這些檔案的更新頻率相對來說比較低,合理利用瀏覽器的快取對 的效能提公升有很大幫助。http快取分為兩部分,分別是本地快取和快取協商,當本地快取不生效時會啟用快取協商。http快取主要由http協議的頭 header 資訊來制定。本地快取 本地快取是指瀏覽器...
HTTP快取策略
瀏覽器一般快取 css js等靜態檔案,因為這些檔案的更新頻率相對來說比較低,合理利用瀏覽器的快取對 的效能提公升有很大幫助。http快取分為兩部分,分別是本地快取和快取協商,當本地快取不生效時會啟用快取協商。http快取主要由http協議的頭 header 資訊來制定。本地快取是指當瀏覽器請求資源...
HTTP 快取策略
前端開發的同學大家都知道,專案中的靜態檔案等資訊,都要做快取處理,這裡,我們就來說一下http的快取策略。快取,顧名思義,其實就把是拿到的資源存起來,下次要用的時候就可以直接使用啦。有什麼作用呢?重用已獲取的資源能夠有效的提公升 與應用的效能。快取其實是乙個很廣義的概念,用到的地方很多,當然作用只有...