国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > 管理維護 > 正文

關于http的Last-Modified和ETag

2024-09-10 14:18:54
字體:
來源:轉載
供稿:網友

基礎知識
        1) 什么是”Last-Modified”? 

        在瀏覽器第一次請求某一個URL時,服務器端的返回狀態會是200,內容是你請求的資源,同時有一個Last-Modified的屬性標記此文件在服務期端最后被修改的時間,格式類似這樣: 

        Last-Modified: Fri, 12 May 2006 18:53:33 GMT 

        客戶端第二次請求此URL時,根據 HTTP 協議的規定,瀏覽器會向服務器傳送 If-Modified-Since 報頭,詢問該時間之后文件是否有被修改過: 

        If-Modified-Since: Fri, 12 May 2006 18:53:33 GMT 

        如果服務器端的資源沒有變化,則自動返回 HTTP 304 (Not Changed.)狀態碼,內容為空,這樣就節省了傳輸數據量。當服務器端代碼發生改變或者重啟服務器時,則重新發出資源,返回和第一次請求時類似。從而保證不向客戶端重復發出資源,也保證當服務器有變化時,客戶端能夠得到最新的資源。 

        2) 什么是”Etag”? 

        HTTP 協議規格說明定義ETag為“被請求變量的實體值” (參見 ―― 章節 14.19)。 另一種說法是,ETag是一個可以與Web資源關聯的記號(token)。典型的Web資源可以一個Web頁,但也可能是JSON或XML文檔。服務器單獨負責判斷記號是什么及其含義,并在HTTP響應頭中將其傳送到客戶端,以下是服務器端返回的格式: 

        ETag: "50b1c1d4f775c61:df3" 

        客戶端的查詢更新格式是這樣的: 

        If-None-Match: W/"50b1c1d4f775c61:df3" 

        如果ETag沒改變,則返回狀態304然后不返回,這也和Last-Modified一樣。本人測試Etag主要在斷點下載時比較有用。
        
      Last-Modified和Etags如何幫助提高性能?
        聰明的開發者會把Last-Modified 和ETags請求的http報頭一起使用,這樣可利用客戶端(例如瀏覽器)的緩存。因為服務器首先產生 Last-Modified/Etag標記,服務器可在稍后使用它來判斷頁面是否已經被修改。本質上,客戶端通過將該記號傳回服務器要求服務器驗證其(客戶端)緩存。 
        過程如下:
                1. 客戶端請求一個頁面(A)。 
                2. 服務器返回頁面A,并在給A加上一個Last-Modified/ETag。 
                3. 客戶端展現該頁面,并將頁面連同Last-Modified/ETag一起緩存。 
                4. 客戶再次請求頁面A,并將上次請求時服務器返回的Last-Modified/ETag一起傳遞給服務器。 
                5. 服務器檢查該Last-Modified或ETag,并判斷出該頁面自上次客戶端請求之后還未被修改,直接返回響應304和一個空的響應體。

原文:http://blog.csdn.net/houjianxun/archive/2007/09/25/1799328.aspx

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 扶风县| 张家界市| 和平县| 浮山县| 南安市| 晋城| 沙洋县| 岳阳市| 西城区| 绵竹市| 义乌市| 望江县| 潍坊市| 徐水县| 比如县| 卢湾区| 霞浦县| 友谊县| 衢州市| 全南县| 绥芬河市| 花垣县| 惠州市| 临清市| 长乐市| 宝应县| 宁强县| 万州区| 多伦县| 姚安县| 襄樊市| 尼勒克县| 长宁区| 肇州县| 崇仁县| 诸暨市| 洛隆县| 大石桥市| 南康市| 太白县| 汽车|