摘要:總之,實體首部可以告知報文的接收者它在對什么進行處理。與緩存相關的首部字段通用首部字段里請求首部字段里實體首部此處才開始正文和來規范。表示的是從服務器將文檔傳來之時起,可以認為此文檔處于新鮮狀態的秒數剩下的都是緩存校驗字段。
通用首部:有些首部提供了與報文相關的最基本的信息,它們被稱為通用首部。
請求首部:請求首部是只在請求報文中有意義的首部。
響應首部
實體首部: 用來描述HTTP報文的負荷,由于請求和響應報文中都可能包含實 體部分,所以在這兩種類型的報文中都可能出現這些首部。實體首部提供了有關實體及其內容的大量信息,從有關對象類型的信息,到能夠對 資源使用的各種有效的請求方法。總之,實體首部可以告知報文的接收者它在對什 么進行處理。
1:通用首部字段里:
2:請求首部字段里: 3:實體首部:
此處才開始正文~
Pragma和Expires來規范。雖然這兩個字段早可拋棄,但為了做http協議的向下兼容,你還是可以看到很多網站依舊會帶上這兩個字段。
Cache-Control所以這里不再介紹過時的東東啦,大家簡單了解這是關于緩存的就可以啦。
這是個通用首部字段, 其有很多值可以設置:
no-store:禁止緩存對響應進行復制
no-cache: 可以存儲在本地緩存區,但是在與原始服務器驗證新鮮度之前不能給客戶端使用。
max-age:表示的是從服務器將文檔傳來之時起,可以認為此 文檔處于新鮮狀態的秒數
剩下的都是緩存校驗字段。
這些字段都是根據修改時間來判斷文件是否有變動:
Last-Modified
If-Modified-Since: Last-Modified-value
If-Unmodified-Since: Last-Modified-value
只根據修改時間來判斷會有問題:如果在服務器上,一個資源被修改了,但其實際內容根本沒發生改變,會因為Last-Modified時間匹配不上而返回了整個實體給客戶端(即使客戶端緩存里有個一模一樣的資源)
為了解決這個問題,推出了Etag實體首部字段。服務器會通過某種算法,給資源計算得出一個唯一標志符(比如md5標志),在把資源響應給客戶端的時候,會在實體首部加上“ETag: 唯一標識符”一起返回給客戶端。比如:Etag: "5d8c72a5edda8d6a:3239"
如果服務器發現ETag匹配不上,那么直接以常規GET 200回包形式將新的資源(當然也包括了新的ETag)發給客戶端;如果ETag是一致的,則直接返回304知會客戶端直接使用本地緩存即可。
那么客戶端是如何把標記在資源上的 ETag 傳回給服務器的呢?請求報文中有兩個首部字段可以帶上 ETag 值:
If-None-Match: ETag-value
If-Match: ETag-value
需要注意的是,如果資源是走分布式服務器(比如CDN)存儲的情況,需要這些服務器上計算ETag唯一值的算法保持一致,才不會導致明明同一個文件,在服務器A和服務器B上生成的ETag卻不一樣。
附上參考鏈接:點擊跳轉,以及《HTTP權威指南》
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/6873.html
瀏覽器緩存機制學習總結 最近在做一個考試系統時,由于經常加載試卷或圖片等等靜態資源,抽空學習了一下緩存機制,在此記錄 為什么要使用緩存 1、通過HTTP協議,在客戶端和瀏覽器建立連接時需要消耗時間,而大的響應需要在客戶端和服務器之間進行多次往返通信才能獲得完整的響應,這拖延了瀏覽器可以使用和處理內容的時間。這就增加了訪問服務器的數據和資源的成本,因此利用瀏覽器的緩存機制重用以前獲取的數據就變成了性...
摘要:源服務器以后也將不再對緩存服務器請求中提出的資源有效性進行確認,且禁止其對響應資源進行緩存操作。換言之,該指令要求緩存服務器不重新加載響應,也不會再次確認資源有效性。若發生請求緩存服務器的本地緩存無響應,則返回狀態碼。 HTTP 首部 一. HTTP 報文首部 1.HTTP 報文的結構:showImg(https://segmentfault.com/img/bV8xzC?w=613&...
摘要:源服務器以后也將不再對緩存服務器請求中提出的資源有效性進行確認,且禁止其對響應資源進行緩存操作。換言之,該指令要求緩存服務器不重新加載響應,也不會再次確認資源有效性。若發生請求緩存服務器的本地緩存無響應,則返回狀態碼。 HTTP 首部 一. HTTP 報文首部 1.HTTP 報文的結構:showImg(https://segmentfault.com/img/bV8xzC?w=613&...
閱讀 1048·2021-11-18 13:23
閱讀 753·2021-11-08 13:16
閱讀 870·2021-10-11 10:58
閱讀 3516·2021-09-22 15:26
閱讀 1741·2021-09-08 10:42
閱讀 1824·2021-09-04 16:45
閱讀 1743·2019-08-30 15:54
閱讀 2573·2019-08-30 13:45