如何在 Windows Server 上实际设置 max-age 标头?

如何在 Windows Server 上实际设置 max-age 标头?

我已将最大使用期限设置为 1 分钟,但当我查看响应标头时,我看到 max-age=86400(一天)。是否有其他内容覆盖此设置?我还将大多数 MIME 类型的内核缓存设置为 1 分钟,以确保这不是源。我还应该在其他地方寻找覆盖?另一个 webconfig 设置?

这是 webconfig 的相关部分。

<system.webServer>
      <urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="true" />      
      <caching enabled="true">
        <profiles>              
          <add extension=".gif" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
          <add extension=".png" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
          <add extension=".js" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
          <add extension=".css" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
          <add extension=".jpg" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
          <add extension=".jpeg" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
        </profiles>
      </caching>
    <staticContent>
        <!--Enable gzipping JS by changing the mime type.-->
        <remove fileExtension=".js" />
        <mimeMap fileExtension=".js" mimeType="text/javascript" />
        <!-- d.hh:mm:ss -->
        <clientCache cacheControlMode="UseMaxAge" httpExpires="0.00:01:00" />

答案1

应该使用

cacheControlMaxAge="0.00:01:00" 

代替

httpExpires="0.00:01:00"

但后者不会引发错误,只是不起作用。

答案2

只是为了让我们清楚应该如何

<staticContent>
       <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="0.00:01:00" />
</staticContent>

相关内容