2014-02-06 41 views
1

我的服务器返回一个文件下面的标题:无缓存控制头将ETag的工作由Web服务器设置

Accept-Ranges:bytes 
Connection:Keep-Alive 
Content-Length:155 
Content-Type:text/css 
Date:Thu, 06 Feb 2014 18:32:44 GMT 
ETag:"99000000061b06-9b-4f1c118fdd2f1" 
Keep-Alive:timeout=5, max=100 
Last-Modified:Thu, 06 Feb 2014 18:32:37 GMT 

正如你所看到的,它不返回cache-control头,但是它返回ETagLast-Modified标题。

我的问题是浏览器是否缓存所请求的文件?下面请浏览器标题发送ETag:"99000000061b06-9b-4f1c118fdd2f1"和服务器返回的状态码304

而第二个问题时,我可以observr是:将浏览器的缓存资源,并与ETag要求,如果Cache-control设置为no-cache

回答

0

问题的第一部分 - 如果响应将被缓存以及何时将被重新验证,则取决于您的浏览器(其实施和配置)。浏览器行为与验证头和没有验证头的行为之间的唯一(标准化)区别在于前者可以减少服务器使用验证的流量。

第二个问题:是的。浏览器将缓存资源,但每次打开页面浏览器时都会询问源服务器是否修改了资源。如果没有修改,服务器将响应304,浏览器将显示缓存的内容。否则,服务器将发送新的内容。