我想設置一個遙遠未來的Expires標頭,以減少從各個瀏覽器發出的請求。Cache-Control s-maxage標頭是否覆蓋瀏覽器緩存的Expires標頭?
我還想設置Cache-Control:s-maxage = 600,以便代理緩存(和CDN)每10分鐘爲原始內容重新驗證一次。
儘管存在Cache-Control標頭(它可能會取代它),瀏覽器是否會使用s-maxage指令來承認Expires標頭?
我想設置一個遙遠未來的Expires標頭,以減少從各個瀏覽器發出的請求。Cache-Control s-maxage標頭是否覆蓋瀏覽器緩存的Expires標頭?
我還想設置Cache-Control:s-maxage = 600,以便代理緩存(和CDN)每10分鐘爲原始內容重新驗證一次。
儘管存在Cache-Control標頭(它可能會取代它),瀏覽器是否會使用s-maxage指令來承認Expires標頭?
如果兩者都包括在內,那麼兩者都將被檢查,兩者都不具有優先權。最大年齡不會取代到期,這是額外的。
這是錯誤的。緩存控制取代過期。 –
這沒有錯,爲自己測試。緩存控制更新,並有更多的選項,但它不覆蓋過期,都被檢查。 –
如果值衝突會怎麼辦?瀏覽器必須選擇一個,並且那個是Cache-Control。 –
如果響應同時包含Expires和Cache-Control max-age指令,則即使Expires標頭更具限制性,max-age將覆蓋Expires標頭。對於給定的響應,此規則允許源服務器爲HTTP/1.1緩存提供比HTTP/1.0緩存更長的到期時間。
來源:http://condor.depaul.edu/dmumaugh/readings/handouts/SE435/HTTP/node24.html
看看這個答案http://stackoverflow.com/questions/3740952/difference-between-three-htaccess-expire-rules/3746325#3746325 – secondflying
這個答案沒有提及S-最大生存週期。 –
你可以看到HTTP規範。 「s-maxage指令總是被私有緩存忽略。」 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.3 – secondflying