是否可以通过查看返回内容的 Expires 和/或 Cache Control 标头来让 IIS 7(Server 2008)缓存内容?
(我有一个提供图像图块的 ASP.NET 应用程序。它们的到期时间取决于不同的参数,我设置了 Expires 和 Cache Control 标头以向 IIS 服务器指示这一点。它似乎并不太在意)
答案1
缓存控制和过期标头通常是指令致客户或中间设备,而不是服务器。
当您设置这些标头时,您就是在告诉 IIS 将它们注入 HTTP 响应流中,以便客户端(或其他下游设备)可以缓存/过期/执行其他操作。
如果 ASP.Net 应用程序没有某种内置缓存或不使用 ASP.Net 输出缓存(如果没有,为什么不?),您可能能够使用新的 IIS 7 本机输出缓存(输出缓存功能)强制缓存。
只要文件在请求中以某种方式唯一标识,您就可以设置“vary by”参数以便根据每个 URL 将输出缓存在内存中。