HTTP快取機制

2022-09-08 14:09:15 字數 1268 閱讀 7983

web快取大致可以分為:資料庫快取、伺服器快取(**伺服器快取、cdn快取)、瀏覽器快取。其中瀏覽器快取包含:http快取、indexdb、cookie、localstorage等。

在具體了解http快取之前先來明確幾個術語:

快取命中率:從快取中得到資料的請求數與所有請求數的比率。理想狀態下是越高越好。

過期內容:超過設定的有效時間,被標記為「陳舊」的內容。通常過期內容不能用於回覆客戶端的請求,必須重新向源伺服器請求新的內容或驗證快取的內容是否仍然準備。

驗證:驗證快取中的過期內容是否仍然有效,驗證通過的話重新整理過期時間。

失效:失效就是把內容從快取中移除。當內容發生改變時就必須移除失效的內容。

瀏覽器快取主要是http協議定義的快取機制。

html meta標籤,例如,含義是讓瀏覽器不快取當前頁面。但是**伺服器不解析html內容,一般應用廣泛的是用http頭資訊控制快取。

1.什麼是瀏覽器快取?

瀏覽器快取是瀏覽器在本地磁碟對使用者最近請求過的文件進行儲存,當訪問者再次訪問同乙個頁面時,瀏覽器就可以直接從本地磁碟載入文件。

2.快取規則解析

我們認為瀏覽器存在乙個快取資料庫,用於儲存快取資訊。在客戶端第乙個請求資料時,此時快取資料庫中沒有對應的快取資料,需要請求伺服器,伺服器返回後,將資料儲存至快取資料中。

3.快取的型別:對於http的快取機制來說,策略體現在http的頭部資訊的字段上,而這個策略根據是否需要重新向伺服器端發起請求可以分為強快取和協商快取兩大類。

1)強快取:強快取緊密聯絡著乙個快取時間期限,當瀏覽器請求資源時會檢視快取中的資源是否存在並且確定該快取的資源是否過了「保質期」,若沒有超過保質期,則將取得快取中的資源進行下一步處理。

2)協商快取:協商快取無論如何都會和伺服器互動,比強快取稍微要複雜一點,但是二者是相輔相成並且可以共同存在的,強快取優先順序較高,意味著請求乙個資源時會先比較強快取的字段,如果命中則不會再執行接下來的協商快取的過程。

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 快取過期...

http快取機制

首先需要了解http協議的響應頭中的幾個欄位的含義 cache control expires 該欄位表示資源的過期時間。etag 該欄位表示資源的唯一標識。last modified 該欄位表示資源的最後修改時間。有以下2個問題需要注意 為什麼優先校驗etag,後校驗last modified?因...