http 快取機制

2021-09-26 19:05:28 字數 1150 閱讀 6294

http協議是hyper text transfer protocol(超文字傳輸協議)的縮寫,是用於從全球資訊網(www:world wide web )伺服器傳輸超文字到本地瀏覽器的傳送協議。。

http是乙個基於tcp/ip通訊協議來傳遞資料(html 檔案, 檔案, 查詢結果等)。

請求首部字段

名稱說明

if-match

比較etag是否一致

if-none-match

比較etag是否不一致

if-modified-since

比較資源最後更新的時間是否一致

if-unmodified-since

比較資源最後更新的時間是否不一致

響應首部字段

名稱說明

etag

資源匹配識別符號

實體首部字段

名稱說明

expires

http1/1.0.0的遺留物,資源過期的時間,絕對時間

last-modified

資源最後一次更新的時間

根據是否需要向伺服器重新傳送請求,此處分為強制快取和對比快取,對比快取也叫協商快取

對比快取請求資料的流程

強制快取分為兩種情況,expires和cache-control。

使用強快取時,若xx時間內,伺服器資源修改了,或者版本直接更新了,客戶端在沒有強制重新整理的情況下,看到的內容還是舊的;

協商快取每次都要向伺服器驗證一下快取的有效性,不管快取能不能用,都要向伺服器驗證有效性,每次都去請求伺服器,那要快取還有什麼意義;

基於以上問題,實際中,前端都會這樣做:盡可能命中強快取,同時,能在更新版本的時候讓客戶端的快取失效,為了能讓客戶端知道版本已經更新啦,開發人員順便把靜態資源的路徑改了,這樣,就相當於第一次訪問這些資源,就不會存在快取的問題了。而修改資源路徑,當然是webpack的打包時的檔名hash啦!綜上所述,我們可以得出乙個較為合理的快取方案:

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?因...