【发布时间】:2012-06-04 14:04:44
【问题描述】:
在 IIS 7.5 中,当我没有启用输出缓存时,我的 php 脚本成功地在 Cache-Control 标头中设置了浏览器缓存:
缓存控制:max-age=43200,public
内容类型:text/html
到期:格林威治标准时间 2012 年 5 月 30 日星期三 22:15:18
服务器:Microsoft-IIS/7.5
X-Powered-By:PHP/5.4.3
日期:格林威治标准时间 2012 年 5 月 30 日星期三 10:15:18
连接:关闭
内容长度:5105
但是,如果我为 .php 文件启用输出缓存,我会得到以下标头:
缓存控制:no-cache,max-age=43200,public
内容类型:text/html
到期:格林威治标准时间 2012 年 5 月 30 日星期三 22:25:34
服务器:Microsoft-IIS/7.5
X-Powered-By:PHP/5.4.3
日期:格林威治标准时间 2012 年 5 月 30 日星期三 10:25:34
连接:关闭
(注意“no-cache”在我的 php 脚本工作之前被添加到 Cache-Control)
我发现,如果为文件类型启用了输出缓存,则无法防止将“无缓存”添加到 Cache-Control 键中。我尝试在 web.config 文件中这样做:
<customHeaders>
<remove name="X-Powered-By" />
<remove name="Cache-Control" />
<add name="Cache-Control" value="public" />
</customHeaders>
这行不通。为什么这必须如此相互排斥?我想同时启用输出缓存和浏览器缓存。
【问题讨论】:
标签: http-headers iis-7.5