我正在倾斜http标头,并且我想在“缓存控制”字段上运行测试,所以我构建了一个只有默认页面的asp.net网站。在这个页面中,我正在测试“缓存控制” “ 字段,其 Page_Load 中的代码如下:
Response.AddHeader("Cache-Control","max-age=3600");
Response.Write(new Random().Next(0,9999).ToString());
我认为每次刷新页面时它都会给我相同的数字,因为当浏览器收到“Cache-Control:max-age = 3600”标头时,页面会被缓存在本地,但令我惊讶的是,它给了我每次我按下刷新按钮(不是 ctrl+f5)时都会出现一个新数字,就像缓存控制根本不起作用一样。
我使用fiddler捕获请求/响应信息,并看到请求标头中有一个“Cache-Control:max-age = 0”,而响应标头中有一个“Cache-Control:max-age = 3600”。看起来“Cache-Control: max-age=0”会阻止缓存,但为什么呢?我错过了什么吗?
在浏览器中,F5 执行“条件刷新”,即通过条件请求访问服务器(仅当服务器要求通过 HTTP/304 时才使用缓存文件)。要查看缓存标头的效果,请在同一页面打开新选项卡。如果您配置正确,您将看到相同的值。
在此处了解有关浏览器刷新的更多信息:http://blogs.msdn.com/b/ieinternals/archive/2010/07/08/technical-information-about-conditional-http-requests-and-the-refresh-button.aspx http://blogs.msdn.com/b/ieinternals/archive/2010/07/08/technical-information-about-conditional-http-requests-and-the-refresh-button.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)