http快取機制

2021-10-09 03:57:43 字數 1512 閱讀 4488

在客戶端訪問網頁的過程中,如果我們每次請求資源都去訪問伺服器,這樣會增加伺服器的負擔,增加頻寬壓力和網頁訪問速度,利用快取可以有效的解決這個問題。但是如果資源更改導致客戶端更新不及時或者之前的版本有bug,快取又會造成嚴重的後果。因此,為了避免設定快取錯誤,掌握快取的原理對於更加合理的配置快取是非常重要。

協商快取

總結

1.客戶端和**伺服器都可以快取該資源;

2.客戶端在***秒的有效期內,如果有請求該資源的需求的話就直接讀取快取

3.返回狀態碼:statu code:200

4.如果使用者做了重新整理操作,就向伺服器發起http請求

1.只有客戶端可以快取該資源;**伺服器不快取

2.客戶端在***秒內直接讀取快取

3.返回狀態碼:status code:200

1.客戶端在***秒的有效期內,如果有請求該資源的需求的話就直接讀取快取,即使使用者做了重新整理操作,也不向伺服器發起http請求

2.返回狀態碼:status code:200

1.跳過設定強快取,但是不妨礙設定協商快取;

2.一般如果你做了強快取,只有在強快取失效了才走協商快取的

3.設定了no-cache就不會走強快取了,每次請求都回詢問服務端。

1.不快取,客戶端、伺服器都不快取,也就沒有所謂的強快取、協商快取。

ctrl+f5強制重新整理頁面,解決頁面直接引用的資源更新的問題

使用瀏覽器的無痕模式開發

chrome瀏覽器:f12在network中禁用快取

在開發階段,給資源加上乙個動態的引數

如果快取問題出現在ajax請求中,最有效的解決辦法就是ajax的請求位址追加隨機數

動態設定iframe的src時,有可能也會因為快取問題,導致看不到最新的效果,這時候在要設定的src後面新增隨機數也能解決問題

// response header

etag:

'5c20abbd-e2e8'

last-modified: mon,

24 dec 201809:

49:49gmt

// request header 變為

if-none-matched:

'5c20abbd-e2e8'

if-modified-since: mon,

24 dec 201809:

49:49gmt

1.cache-control 的值為 no-cache

2.cache-control:max-age 過期

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