iis - 经典 ASP 页面加载的图像不会被缓存

标签 iis asp-classic http-caching

我想隐藏我的图像,因此我使用 ASP 脚本加载图像。但我看到图像没有缓存,有没有办法缓存这种图像?

我的代码:

Response.Buffer = True
response.Expires=240
response.CacheControl="Public"
Response.ContentType = "image/jpeg"
Set http = Server.CreateObject("MSXML2.ServerXMLHTTP")
http.open "GET","http://www.test.net/images/" & request.querystring("ID"), False
http.Send
Response.BinaryWrite http.ResponseBody
Set http = Nothing
Response.Flush
Response.End

这个文件名为 test.asp,我通过 test.asp?ID=12345 调用它,如下所示:

<img src="test.asp?ID=12345">

Firebug 显示图像加载正常,而不是 302 未修改。

是否可以缓存此类图像?

最佳答案

ASP 页面没有理由不能被缓存,因为浏览器不知道是哪种服务器端技术生成的。您只需要设置正确的 HTTP header 指令。在您的情况下,您至少需要在缓存控制指令中设置 Max-Age,例如:

response.CacheControl="public, max-age=68400"

查看以下article有关 HTTP 案例的其他有用指令。

关于iis - 经典 ASP 页面加载的图像不会被缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37883141/

相关文章:

c# - Windows 身份验证不适用于本地 IIS 7.5。错误 401.1

asp-classic - 浏览器似乎忽略了响应缓存控制指令

asp.net-mvc-3 - 为什么我的图像没有缓存?

database - 使用经典 ASP 的 Windows Server 2003 中的 MS Access 数据库

nginx 缓存但使用 `Cache-Control: public, s-maxage=0` 立即过期/重新验证

iis - 范围 IIS 按请求 URL 重写出站规则

iis - 401 - 仅使用 Windows 身份验证在 IE7 中未经授权。

sql - 操作必须使用可更新的查询 ASP 查询失败

jquery - 如何使用 jQuery AJAX 读取发布到经典 ASP 的数据

asp.net - 经典的ASP错误捕获-可以直接使用ASP.Net页面完成吗?