asp-classic – 浏览器似乎忽略了响应缓存控制指令
|
我正在尝试测试一些缓存配置,我希望我的页面在请求再次到达服务器之前保留在缓存中1分钟. 使用这个简单的test.asp页面,它有一个自己的链接: <% Option Explicit %>
<%
Response.Expires = 1
Response.CacheControl = "private,max-age=60"
%>
<html>
<head><title>test</title></head>
<body>
<% =Now() %>
<br />
<a href="test.asp">test</a>
</body>
</html>
这在我的开发计算机http://localhost/test.asp上完美运行,(单击链接不会在1分钟内刷新打印的日期时间). 但是,当我将页面放在生产服务器上时,它没有达到预期的效果.点击链接仅几秒钟后,我得到一个新的日期时间,意味着请求到达了Web服务器. 我使用Chrome开发工具查看这些响应标头: HTTP/1.1 200 OK Cache-Control: private,max-age=60 Content-Type: text/html Expires: Tue,12 May 2015 19:16:52 GMT Last-Modified: Tue,12 May 2015 19:10:00 GMT Server: Microsoft-IIS/7.5 X-Powered-By: ASP.NET Date: Tue,12 May 2015 19:15:55 GMT Content-Length: 205 任何人都可以帮助解释为什么它不能在prod服务器上工作? 更新 解决方法要跟进我的评论,看起来您可能正在考虑在服务器上缓存动态asp页面,而不是在客户端上.在客户端上缓存并不是很好,因为现代浏览器/代理仍然会在HTML文档时请求该项.缓存不改变的静态资源(如图像,css,js)应该可以工作,并且根据缓存标题推出浏览器将会尊重这些资源.要让您的页面在服务器上缓存(意味着IIS不必重新生成页面),您可以在这里进行操作. Web.config文件 <?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<caching>
<profiles>
<add extension=".asp" policy="CacheForTimePeriod" kernelCachePolicy="DontCache" duration="00:01:00" />
</profiles>
</caching>
</system.webServer>
</configuration>
您可以将web.config放在特定目录中以仅缓存其内容,也可以使用querystring params或某些请求标头来中断缓存. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-core – 为Microsoft.CodeAnalysis.Common检测到版
- asp.net-mvc – ASP.NET MVC如何指定View页面驻留在哪个文件
- ASP.NET MVC下Ajax.BeginForm方式无刷新提交表单实例
- asp.net-mvc – 资源解释为Document但使用MIME类型applicat
- asp.net-mvc-3 – 对复选框不起作用的MVC不显眼的验证
- asp.net-mvc – 在ASP.NET MVC 5应用程序中启用SSL会导致Op
- asp.net – Url片段为空
- asp.net-mvc – 如何将HTML5表单操作链接到ASP.NET MVC 4中
- 如何使用ASP.NET解析JSON字符串?
- 如何从ASP .NET网站检测客户端上安装的Java运行时?
- asp.net-mvc-3 – MVC Razor – 创建/编辑视图最
- asp.net – 使用appcmd添加新网站而不提供网站ID
- asp.net-mvc – MVC传递ID由“”分隔为动作
- asp.net-mvc-3 – 修改StringLength验证的默认Er
- asp.net-identity – IIdentity.Name与IIdentity
- 在ASP.NET MVC中模拟User.Identity
- asp.net-mvc – Internet Explorer缓存asp.netmv
- asp.net-mvc – MVC 3 – 脚手架下拉列表
- asp.net – 为什么不调用我的IHttpHandler?
- asp.net-mvc – 在ASP.NET MVC中从相同的路由URL
