課程
/前端開發
/JavaScript
/Yahoo軍規
etag 實體標簽 怎么配置? 給個例子/代碼 好嗎?
2015-08-05
源自:Yahoo軍規 14-1
正在回答
1、先說ETag是什么:
在典型用法中,當一個URL被請求,Web服務器會返回資源和其相應的ETag值,它會被放置在HTTP的“ETag”字段中:ETag: "686897696a7c876b7e"然后,客戶端可以決定是否緩存這個資源和它的ETag。以后,如果客戶端想再次請求相同的URL,將會發送一個包含已保存的ETag和“If-None-Match”字段的請求。If-None-Match: "686897696a7c876b7e"客戶端請求之后,服務器可能會比較客戶端的ETag和當前版本資源的ETag。如果ETag值匹配,這就意味著資源沒有改變,服務器便會發送回一個極短的響應,包含HTTP “304 未修改”的狀態。304狀態告訴客戶端,它的緩存版本是最新的,并應該使用它。然而,如果ETag的值不匹配,這就意味著資源很可能發生了變化,那么,一個完整的響應就會被返回,包括資源的內容,就好像ETag沒有被使用。這種情況下,客戶端可以用新返回的資源和新的ETag替代先前的緩存版本。--摘自維基百科HTTP ETAG
在典型用法中,當一個URL被請求,Web服務器會返回資源和其相應的ETag值,它會被放置在HTTP的“ETag”字段中:
ETag: "686897696a7c876b7e"
然后,客戶端可以決定是否緩存這個資源和它的ETag。以后,如果客戶端想再次請求相同的URL,將會發送一個包含已保存的ETag和“If-None-Match”字段的請求。
If-None-Match: "686897696a7c876b7e"
客戶端請求之后,服務器可能會比較客戶端的ETag和當前版本資源的ETag。如果ETag值匹配,這就意味著資源沒有改變,服務器便會發送回一個極短的響應,包含HTTP “304 未修改”的狀態。304狀態告訴客戶端,它的緩存版本是最新的,并應該使用它。
然而,如果ETag的值不匹配,這就意味著資源很可能發生了變化,那么,一個完整的響應就會被返回,包括資源的內容,就好像ETag沒有被使用。這種情況下,客戶端可以用新返回的資源和新的ETag替代先前的緩存版本。
--摘自維基百科HTTP ETAG
如圖,這是打開百度首頁的所有請求。服務器響應頭里面包含了一個ETag標簽,相當于這個圖片的“身份證號”。由于我刷新了一次,瀏覽器第二次請求這個圖片,請求頭里面包含If-None-Match標簽,里面是之前收到的ETag,
2、再說Etag怎么啟用:
上面可以看出ETag在服務器的響應頭先出現,那么和HTML也沒關系了。需要在服務器端相關軟件進行配置。網上教程很多。我就不一一搬運了。以下是三個常用服務器端開啟ETag的說明:
IIS http://www.t086.com/article/5210
Apache http://www.t086.com/article/5209
Nginx http://www.t086.com/article/5207
舉報
您要知道的網站性能優化規則,提高網站性能、快速訪問網站不在是夢
2 回答如何配置ETAG
1 回答體驗很不錯
1 回答網站配置多域還是單域,這個好處是什么?下面是我的理解看對不對
1 回答gzip壓縮是一個工具嗎?怎么http的表頭設置緩存時間
1 回答怎么合并請求
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-12-26
1、先說ETag是什么:
如圖,這是打開百度首頁的所有請求。服務器響應頭里面包含了一個ETag標簽,相當于這個圖片的“身份證號”。由于我刷新了一次,瀏覽器第二次請求這個圖片,請求頭里面包含If-None-Match標簽,里面是之前收到的ETag,
2、再說Etag怎么啟用:
上面可以看出ETag在服務器的響應頭先出現,那么和HTML也沒關系了。需要在服務器端相關軟件進行配置。網上教程很多。我就不一一搬運了。以下是三個常用服務器端開啟ETag的說明:
IIS http://www.t086.com/article/5210
Apache http://www.t086.com/article/5209
Nginx http://www.t086.com/article/5207