我了解瀏覽器會保存回應,以便在 next 快速回傳same request。
但這里的問題是,什么是same request?這是否意味著在請求same resource uri 的情況下?Get
那么請求中包含的headers的值或者body的內容呢?
我已經看到Cache-Control標頭也用于Post請求。
Post如果是這樣,是不是通過比較body的內容來確定相同請求的標準?
uj5u.com熱心網友回復:
RFC 7234定義了快取鍵:
主快取鍵由請求方法和目標 URI....標題欄位。
Vary輔助鍵使用回應標頭中列出的標頭。有關詳細資訊,請參閱第 4.1 節。
當一個快取接收到一個請求,該請求可以由具有
Vary頭欄位的存盤回應來滿足時,它不能使用該回應,除非 Vary 頭欄位指定的所有選擇頭欄位在原始請求中都匹配(即,關聯的與存盤的回應),以及提出的請求。
要回答您的具體問題:
但這里的問題是,相同的請求是什么?
GET在請求的情況下是否意味著相同的資源 URI ?
是的。
那么請求中包含的headers的值或者body的內容呢?
正文的內容無關緊要,而標題只有在Vary標題中列出時才重要。
我已經看到
Cache-Control標頭也用于POST請求。如果是的話,同一個Post請求的標準是通過比較body的內容來確定的嗎?
由于主快取鍵由 URI 和方法組成,因此如果兩個POST請求具有相同的 URI,則它們將具有相同的鍵。然而,正如標準所指出的那樣,“由于當今常用的 HTTP 快取通常僅限于快取對 的回應GET,因此許多快取只是拒絕其他方法并僅使用 URI 作為主快取鍵。”
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/444876.html
