http中和緩存相關的header

HTTP/1.1協議中和網頁緩存相關的字段:瀏覽器

header 解釋 例子
Expires 響應過時的日期和時間 Expires: Thu, 01 Dec 2010 16:00:00 GMT
Cache-Control 告訴全部的緩存機制是否能夠緩存及哪一種類型 Cache-Control: no-cache
Last-Modified 請求資源的最後修改時間 Last-Modified: Tue, 15 Nov 2010 12:45:26 GMT
ETag 請求變量的實體標籤的當前值 ETag: 「737060cd8c284d8af7ad3082f209582d」

HTTP/1.0協議中有一個功能比較弱的緩存控制機制:Pragma,使用HTTP/1.0的緩存將忽略ExpiresCache-Control緩存

Expires

Expires字段聲明瞭一個網頁或URL地址再也不被瀏覽器緩存的時間,一旦超過了這個時間,瀏覽器都應該聯繫原始服務器。服務器

Cache-Control

Cache-Control字段中能夠聲明多些元素,例如no-cache, must-revalidate, max-age=600(文件被用戶訪問後的存活時間)等。這些元素用來指明頁面被緩存最大時限,如何被緩存的,如何被轉換到另外一個不一樣的媒介,以及如何被存放在持久媒介中的。code

Last-Modified

Last-ModifiedETag是條件請求(Conditional Request)相關的兩個字段。若是一個緩存收到了針對一個頁面的請求,它發送一個驗證請求詢問服務器頁面是否已經更改,在HTTP頭裏面帶上ETagIf Modify Since。服務器根據這些信息判斷是否有更新信息,若是沒有,就返回HTTP 304(NotModify);若是有更新,返回HTTP 200和更新的頁面內容,而且攜帶新的ETagLastModified資源

ETag

既然有了Last-Modified,爲何還要用ETag字段呢?由於若是在一秒鐘以內對一個文件進行兩次更改,Last-Modified就會不正確。所以,HTTP/1.1利用Entity Tag頭提供了更加嚴格的驗證。it

相關文章
相關標籤/搜索