簡事二三 之 http快取機制

2021-09-11 10:13:10 字數 1011 閱讀 2005

請求頭:瀏覽器向伺服器傳送請求的資料,資源

響應頭:伺服器向瀏覽器相應資料,告訴瀏覽器我是誰,我要怎麼做。如,我是nginx,給你的資源是正確的200 還是錯誤的404,我告訴你需要快取多久。

快取優先順序: pragma → cache-control → expires → etag → last-modified

http1.0: pragma(已廢棄), expires

http快取可以分為兩類: 強制快取,協商快取

強制快取:expires, cache-control

1). expires: 快取過期時間,gmt時間,以客戶端時間作為參考

2). cache-control: 相對時間,屬性值分為:

private:僅允許客戶端快取

public:客戶端和**伺服器都可以快取

max-age=***:快取內容將於***秒後失效

no-cache:需要使用協商快取來驗證快取資料

no-store:所有內容都不會快取,強制快取、協商快取都不會觸發

協商快取:last-modified, etag

1)last-modified:定義上一次修改時間,再次請求時帶請求頭if-modified-since,與伺服器進行對比

2)etag:加密字串,再次請求時帶請求頭if-none-match,與伺服器對比

對於強制快取,伺服器通知瀏覽器乙個快取時間,在快取時間內,下次請求直接用快取,不在時間內則執行協商快取策略。

對於協商策略,將快取資訊中的etag和last-modified通過請求傳送給伺服器,有伺服器校驗,返回304狀態碼時,瀏覽器直接使用快取。

瀏覽器第一次請求:

瀏覽器請求 -> 無快取 -> 向web伺服器請求 -> 請求響應,快取協商 -> 呈現

瀏覽器再次請求:

常見的請求頭:

常見的響應頭:

web快取之 http快取機制

一 web快取可以分為資料庫快取 伺服器快取 瀏覽器快取。二 http快取是通過頭資訊控制快取。a.分為強快取和協商快取兩種。b.強快取如果命中,則不需要和伺服器發生互動。c.協商快取不管是否命中,都要和伺服器發生互動。d.強快取的優先順序高於協商快取。三 強快取。a.可以理解為無需驗證的快取策略。...

Http快取機制

快取快取,就是把需要的東西存起來,不需要每次都去請求。主要目的減小伺服器壓力,放到客戶端上來講,還利於節省流量,還能流暢的把ui顯示出來,提高了使用者體驗。對於http快取來講,主要的就是校驗快取的有效性,也就是新鮮度。如果客戶端不能及時響應服務端的資料變化,快取一直不能被更新,那不就是得不償失了?...

HTTP 快取機制

基於 header的示例 content length 3534http快取策略分為 1 快取策略 cache control 頭里的 public private no cache max age no store 其中no store為不儲存,no cache 0秒的max age 2 快取過期...