當使用must-revalidate
緩存HTML頁面時,這意味着瀏覽器必須檢查由Last-Modified
或Etag
定義的任何更新。但問題是,在max-age
之前,瀏覽器不會與網站建立任何連接來讀取HTTP頭(分析Last-Modified
和Etag
)?如何用必須重新驗證來緩存HTML頁面?
如何強制瀏覽器在從緩存中加載頁面之前建立一個簡短的連接來讀取(至少)HTTP讀取器?
我不明白must-revalidate
的用法!在max-age
之前檢查更新不是它的責任嗎?因爲在達到max-age
之後,瀏覽器將從網站讀取並且從不使用本地緩存。
非常有用的信息和實用指南,但我不明白一件事。您說過「緩存可能不會在該內容過期時提供,但在此之前必須重新驗證」。無論如何,即使沒有「必須重新驗證」,緩存在過期時也不會被提供。 – Googlebot 2012-04-06 13:53:15
如果您重讀了上述RFC中14.9.3的結尾,它指出不僅緩存可以配置爲提供陳舊的響應,客戶端(瀏覽器)可以使用'max-stale'來指示陳舊的響應正常。它也提到了一個'Warning'頭部必須被連接,但是。 – 2012-04-06 17:25:41