在 IIS 7 中设置过期时间

在 IIS 7 中设置过期时间

我必须在 IIS 7 中为应用程序的静态文件设置到期时间。使用以下对话框:我将其设置为 10 天。

在此处输入图片描述

但是,当我使用 Chrome 中的 PageSpeed 插件查看我的页面分析时,我发现文件没有过期。

在此处输入图片描述

我是否还需要在我的应用程序配置中做其他事情?

答案1

查看 web.config 的 staticContent 元素:

  <system.webServer>
    <!-- StaticContent requires that the machine config section be unlocked: appcmd unlock config /section:staticContent-->
    <staticContent>
      <clientCache cacheControlCustom="private" cacheControlMode="UseMaxAge" cacheControlMaxAge="0.02:00:00" />
    </staticContent>
  </system.webServer>

http://msdn.microsoft.com/en-us/library/ms689506%28v=vs.90%29.aspx

http://www.iis.net/configreference/system.webserver/staticcontent/mimemap

答案2

IIS 中的设置控制返回页面的过期时间,而不是页面包含并尝试加载的其他资源(在您的情况下是外部 JS 文件)。如果您检查页面的过期标签,它应该会显示过期日期。

您正在查看的 IIS 设置不会控制不直接属于响应流的其他文件的过期时间。对于 JS 文件,您为什么要尝试让它们在 10 天后过期?浏览器应该识别出它们不再是当前版本,并将下载最新版本,否则它将显示HTTP 304 Not Modified并使用本地缓存的副本。

相关内容