簡體   English   中英

http請求中的“ cache-control:max-age = 0”

[英]`cache-control: max-age=0` in http request

我有一個問題:假設每個http請求中都有一個cache-control: max-age=0標頭,因此每個請求都將一直到達原始Web服務器。 如果所有請求都是這樣,是否意味着CDN不再有用?

來自其他帖子:由用戶代理發送時

我相信shahkalpesh的答案適用於用戶代理方。 您還可以查看13.2.6消除多個響應的歧義。

如果用戶代理通過Cache-Control:max-age = 0(又稱為“端到端重新驗證”)發送請求,則沿途的每個緩存都會重新驗證其緩存條目(例如,使用If-Not-修改后的標頭)一直到原始服務器。 如果答復是304(未修改),則可以使用緩存的實體。

另一方面,使用Cache-Control發送請求:no-cache(也稱為“端到端重新加載”)不會重新生效,並且服務器在響應時一定不要使用緩存的副本。

這很有意義,並且與我的結果相符。 當Chrome中的緩存未過期時,它將向CDN發送請求,CDN會使用if-modified-since來查詢此請求,然后將其提供給起源,然后為最終用戶服務。

通過將max-age設置為0,您可以立即有效地使CDN邊緣緩存中的頁面過期。 因此,您的CDN總是會打到您的原點,並按照您的建議使CDN失效。

從另一個問題中注意到,您正在使用Akamai。 如果是這樣,那么如果您不能直接控制該值,但是仍然希望能夠利用CDN功能,則可以使用Edge-Control標頭覆蓋您的cache-control

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM