兩個head字段
client:
if-modified-since
if-none-match
server:
last-modified
entity-tag (Etag)
ETag 依靠使用客戶端(瀏覽器)的緩存機制,提升服務器的性能,減少網絡線路的負載。
加快web體驗速度
大致過程:
1、客戶端第一次訪問服務器,數據發送訪問url
2、服務器回覆 第一個資源信息 (比如 sitehome.css) 的 etag
3、客戶端展現該部分頁面,本地記錄該資源信息的etag值,(比如:md5)
4、客戶端再次訪問該資源信息時,攜帶if-none-match信息,給server
5、server檢測,如果該資源信息的etag沒有改變,則回覆304。
概念
典型的Web資源可以一個Web頁,但也可能是JSON或XML文檔。
ETag是一個可以與Web資源關聯的記號(token)。根據apache這樣的web服務器 的配置策略生成。
知識點
注意:etag是頁面上一個資源的屬性 可以是資源的任何具體信息 比如md5 or。。
last modified 也是頁面的一個資源的屬性 只關注資源修改的時間。 秒單位的修改。
如果1s內 資源信息發生了修改 ,則last modified 則判斷不出來 ,但etag可以。
建議
一般建議分佈式系統儘量關閉掉Etag(每臺機器生成的etag都會不一樣)