IIS 7.5如何添加动态HTTP Expires标头
在IIS7.5中,您可以添加静态HTTP响应头,但我想添加一个“Expires”头,它总是指定未来7天的日期 我运行的是PHP5.4,所以我希望有一个解决方案可以通过编辑web.config文件来实现这一点,而不是一些c代码解决方案 我知道如何使用php添加头,但这对静态图像文件的http头(jpg、gif、png等)没有帮助 标题应如下所示: 到期时间:2012年5月31日星期四10:59:25 GMT 如何使其在未来7天内始终动态显示日期和时间 编辑: 请注意,我的php文件中有我想要的expires头: 但是,我无法为png文件上的“Expires”键指定提前7天的日期(例如,我必须在遥远的将来使用静态日期:IIS 7.5如何添加动态HTTP Expires标头,iis,web-config,http-headers,iis-7.5,Iis,Web Config,Http Headers,Iis 7.5,在IIS7.5中,您可以添加静态HTTP响应头,但我想添加一个“Expires”头,它总是指定未来7天的日期 我运行的是PHP5.4,所以我希望有一个解决方案可以通过编辑web.config文件来实现这一点,而不是一些c代码解决方案 我知道如何使用php添加头,但这对静态图像文件的http头(jpg、gif、png等)没有帮助 标题应如下所示: 到期时间:2012年5月31日星期四10:59:25 GMT 如何使其在未来7天内始终动态显示日期和时间 编辑: 请注意,我的php文件中有我想要的ex
这是IIS的标准功能。HTTP响应头模块允许您设置此公共头。这将导致以下web.config文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
</system.webServer>
</configuration>
您应该只在希望发送此标头的目录中执行此操作。通常只包含静态内容的目录。这是IIS的标准功能。HTTP响应头模块允许您设置此公共头。这将导致以下web.config文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
</system.webServer>
</configuration>
您应该只在希望发送此标头的目录中执行此操作。通常只包含静态内容的目录。您只能使用程序代码添加动态过期标题 资料来源:
您应该改为使用缓存控制最大年龄,就像另一个答案中建议的那样。您只能使用程序代码添加动态过期标头 资料来源:
您应该使用缓存控制最大年龄,就像另一个答案中建议的那样。请参阅上面文章中的编辑。我特别想添加一个“Expires”标题;我已经在使用最大年龄;我两者都想要。对不起,我的错,但是IIS没有提供动态设置的机制。您可以设置,但只能设置为固定的日期/时间。但是,
Cache Control
标题max age
和Expires
标题在浏览器中具有相同的效果。Expires
头是HTTP/1.0功能,而Cache Control
是HTTP/1.1功能。但据我所知,所有常用浏览器和代理/缓存服务器都支持缓存控件
头,因此使用/依赖它是安全的。是否可以在web.config文件中设置任何动态值。我找到了一种使用“重写”模块将标题添加到特定文件类型的方法,但仍然无法设置“现在加7天”的值。URL重写模块不提供任何功能来动态计算标题并以所需格式输出日期。我唯一可以考虑的方法是创建一个HTTPModule,并以集成模式运行您的web应用程序/网站。这允许您捕获对静态内容的请求,并通过自己的代码动态添加标题。您可以编写它,以便它查看已经存在的max age值,并使用该值添加Expires头。不需要额外的配置。请参阅上面文章中的编辑。我特别想添加一个“Expires”标题;我已经在使用最大年龄;我两者都想要。对不起,我的错,但是IIS没有提供动态设置的机制。您可以设置,但只能设置为固定的日期/时间。但是,Cache Control
标题max age
和Expires
标题在浏览器中具有相同的效果。Expires
头是HTTP/1.0功能,而Cache Control
是HTTP/1.1功能。但据我所知,所有常用浏览器和代理/缓存服务器都支持缓存控件
头,因此使用/依赖它是安全的。是否可以在web.config文件中设置任何动态值。我找到了一种使用“重写”模块将标题添加到特定文件类型的方法,但仍然无法设置“现在加7天”的值。URL重写模块不提供任何功能来动态计算标题并以所需格式输出日期。我唯一可以考虑的方法是创建一个HTTPModule,并以集成模式运行您的web应用程序/网站。这允许您捕获对静态内容的请求,并通过自己的代码动态添加标题。您可以编写它,以便它查看已经存在的max age值,并使用该值添加Expires头。不需要额外的配置。