我倾向于http标头,我想在"缓存控制"字段上运行测试,所以我构建了一个只有一个默认页面的asp.net网站.在这个页面我正在测试"缓存控制" "下面的Page_Load中包含代码的字段:
Response.AddHeader("Cache-Control","max-age=3600");
Response.Write(new Random().Next(0,9999).ToString());
Run Code Online (Sandbox Code Playgroud)
每当我刷新页面时,我认为它会给我相同的数字,因为当它收到"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
| 归档时间: |
|
| 查看次数: |
4404 次 |
| 最近记录: |