这让我很生气。我不明白为什么我的页面中的所有资源每次都被请求。
例如我的 site.css 返回以下 header (使用 fiddler ):
HTTP/1.1 200 OK
Server: ASP.NET Development Server/9.0.0.0
Date: Mon, 29 Nov 2010 17:36:21 GMT
X-AspNet-Version: 2.0.50727
Content-Length: 9093
Cache-Control: public, max-age=2592000
Expires: Wed, 29 Dec 2010 17:36:21 GMT
Last-Modified: Mon, 08 Nov 2010 17:20:16 GMT
Content-Type: text/css
Connection: Close
但每次我点击刷新时,我都会看到所有资源(css、js、图像)都被重新请求。我可以控制为所有这些资源返回的 header ,但我还没有弄明白。
我什至调试了我的 ASP.NET 应用程序,HttpModule 肯定再次被要求提供资源。
有人可以告诉我该怎么做吗?
编辑:
好的,我从 header 中删除了 must-revalidate, proxy-revalidate
这让我离我想去的地方更近了,现在当我按下时它仍然请求我的 css/js 文件回来。
我还能做些什么来避免这种情况?
最佳答案
以下链接可能对您有所帮助。
Differences in reload behavior between FF and IE
http://blog.httpwatch.com/2008/10/15/two-important-differences-between-firefox-and-ie-caching/
简而言之,您的缓存行为将由 header 和您使用的浏览器决定。
您使用什么浏览器进行测试?后退按钮的处理方式也不同。
Back Button (Browser Behavior)
最后,浏览器之间的 f5/ctrl f5、点击、shift 点击等行为的分割: What requests do browsers' "F5" and "Ctrl + F5" refreshes generate?
关于asp.net - 为什么我的页面没有被缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4306456/