http協議如何實現緩存cache

兩個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都會不一樣)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章