我有一個這個標題混亂,我已經讀Cache-Control:must-revalidate
責任在提供緩存項目之前驗證所有的請求與源代碼,但只是陳舊的?或者不管是陳舊還是新鮮?我在不同的地方看過這兩樣東西。緩存控制:必須重新驗證是否需要驗證所有請求,或只是過時的?
與Cache-Control:no-cache
有什麼區別?因爲這些標題看起來相當於我。
更新1:我從書上讀到這樣的:
的
Cache-Control: must-revalidate
響應頭告訴緩存 繞過新鮮度計算機制,並重新驗證每個 訪問:
@Peter O.已經指出了RFC的說法。所以那本舊書是錯誤的。
更新2:在這個教程:http://www.mnot.net/cache_docs/
no-cache
- 強制高速緩存將請求提交到源服務器 進行驗證釋放緩存副本之前,每一次。這是 用於確保身份驗證得到尊重(與公共組織 結合使用),或者保持嚴格的新鮮度,同時不犧牲緩存的所有優點。
must-revalidate
- 告訴緩存他們必須 服從您給他們關於表示的任何新鮮度信息。 HTTP允許緩存在特殊的 條件下提供陳舊的陳述;通過指定這個標題,你告訴緩存你想要它嚴格遵循你的規則。
感謝。我已經更新了什麼,我在書上讀到,因爲我不能把它放在一個留言的訊息,那就是對你的RFC發現了什麼。你怎麼看? – vtortola
確定這本書是錯誤的。在這本書的新版本中,它說明了你所說的話。謝謝! – vtortola
我還是很困惑。我想緩存我的資源,除非資源更新到我的服務器上的更新版本。我讀過無緩存的目的是爲這一點,但一些瀏覽器把它作爲無店鋪來代替。那麼現在我將如何實現這種行爲?我可以使用必須重新驗證嗎? –