asp.net - 为什么我的页面没有被缓存?

标签 asp.net http caching

这让我很生气。我不明白为什么我的页面中的所有资源每次都被请求。

例如我的 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/

相关文章:

asp.net - Paypal 表单破坏了我的 ASP.NET webforms 布局 -> 如何解决?

asp.net - 从 ColdFusion 迁移到 ASP.NET

python - 我如何要求此 Django View 使用 HTTPS?

javascript - jQuery 是否支持从 X-JSON HTTP header 读取 JSON?

asp.net - 什么是输出缓存,使用输出缓存来改善Web应用程序的性能始终是一件好事吗?

Javascript 脚本不抓取时间类型的数据(?)

javascript - 如何在 onclick 事件后删除 TextBox 上的缩进? (ASP.NET)

http - Nginx路径文件夹重写

asp.net-mvc - 如何对 ASP.NET MVC 输出缓存的 "invalidate"部分进行缓存?

amazon-web-services - CloudFront 响应 403 Forbidden,而不是触发 Lambda