我有一个问题:假设每个http请求中都有一个cache-control: max-age=0
标头,因此每个请求都将一直到达原始Web服务器。如果所有请求都是这样,是否意味着CDN不再有用?
通过将max-age设置为0,您可以立即有效地使CDN边缘缓存中的页面过期。因此,您的CDN总是会打到您的原点,并按照您的建议使CDN失效。
从另一个问题中注意到,您正在使用Akamai。如果是这样,那么如果您不能直接控制该值,但仍然希望能够利用CDN功能,则可以使用Edge-Control
标头覆盖您的标头cache-control
。
嗨,杰森,我得到了你的建议。
可能是Chrome或其他某种程度的缓存吗?如果到达CDN,则它应该遵守最大值,因此不发送304,但是我已经看到,即使是浏览器或网络设备(如f5或其他工具)也可以提供缓存,因此304不会达到极限。
我测试了浏览器1的某些行为:浏览器中的缓存过期后,我打开一个新窗口进入链接,浏览器将“ If-Modified-Since:”标头发送到外部,并获得了HTTP 304 2:如果浏览器缓存不是过期后,我使用“ F5”刷新,浏览器将“ If-Modified-Since:+ Cache-Control:max-age = 0”标头发送到外部,并获得了http 304。
我的问题是:第一个请求是由akamai提供服务(一旦有其他刷新该内容的请求,akamai在akamai中的缓存未过期就不会与原始服务器通信),但是第二个请求却一直到原始是max-age = 0。第一个要求是akamai在大多数情况下如何为客户服务,对吗?
我使用chrome作为测试浏览器