欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

IIS中User-mode caching引起的Cache-Control不为public问题的解决方法

程序员文章站 2023-09-28 11:29:57
web.config中对应的配置如下: 复制代码 代码如下:   

IIS中User-mode caching引起的Cache-Control不为public问题的解决方法


web.config中对应的配置如下:

复制代码 代码如下:

<configuration>
    <system.webserver>
        <caching>
            <profiles>
                <add extension=".css" policy="cacheuntilchange" kernelcachepolicy="cacheuntilchange" duration="00:00:30" />
                <add extension=".js" policy="cacheuntilchange" kernelcachepolicy="cacheuntilchange" duration="00:00:30" />
            </profiles>
        </caching>
    </system.webserver>
</configuration>

浏览器中看到的效果:

IIS中User-mode caching引起的Cache-Control不为public问题的解决方法

解决方法:

1、禁用user-mode caching,只用kernel-mode caching。

IIS中User-mode caching引起的Cache-Control不为public问题的解决方法

2、在web.config中加上cachecontrolcustom="public"

复制代码 代码如下:

<configuration>
    <system.webserver>
        <staticcontent>
            <clientcache cachecontrolcustom="public" cachecontrolmode="usemaxage" cachecontrolmaxage="300.00:00:00" />
        </staticcontent>       
        <caching>
            <profiles>
                <add extension=".css" policy="dontcache" kernelcachepolicy="cacheuntilchange" duration="30:00:30" />
                <add extension=".js" policy="dontcache" kernelcachepolicy="cacheuntilchange" duration="30:00:30" />
            </profiles>
        </caching>
    </system.webserver>
</configuration>