我的設置的Cache-Control與最大年齡價值的理解是,瀏覽器被指令高速緩存中的文件。瀏覽器不能與200響應(從高速緩存),併發送304不修改
然後我期望的是,如果我點擊地址欄上的「輸入」爲相同的鏈接,瀏覽器將返回一個200(從緩存)響應。
我的問題是,爲什麼它返回一個304 Not Modified響應?
我看到它的方式是使用200(來自緩存)瀏覽器不再與服務器建立連接來驗證文件,並立即提供緩存的內容。但對於304,儘管瀏覽器不會再次下載文件,只會指示瀏覽器爲緩存文件提供服務,但仍需發送請求以驗證內容的新鮮度。
此處的資產由Amazon的CloudFront CDN以Amazon S3存儲桶爲原點提供。那裏的Cache-Header(在S3中)已經被設置。這對於所有其他自託管資產都不是問題。
感謝您的幫助!
編輯:我發現這個What is the difference between HTTP status code 200 (cache) vs status code 304?。其他問題:我已經有緩存控制設置爲max-age = 31536000,s-maxage = 2592000,無變換,公開仍然我得到一個304,是否需要設置到期也?只需使用Cache-Control,我就可以在自行託管的網站上緩存。