zoukankan      html  css  js  c++  java
  • IIS中User-mode caching引起的Cache-Control不为public的问题

    在IIS的Output caching中如果启用了User-mode caching将引起Cache-Control为no-cache,从而造成页面不能被浏览器或代理服务器缓存。

    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>

    浏览器中看到的效果:

    解决方法:

    1、禁用User-mode caching,只用Kernel-mode caching。

    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>
  • 相关阅读:
    Windows 8/8.1/10 加载动画WPF实现
    WPF
    NAT类型判断
    Visual Studio插件: SlowCheetah
    EF6连接MySQL若干问题汇总
    javascript 继承
    docker安装宝塔
    协同推荐算法-php实现
    大文件传输解决方案:分片上传 / 下载限速
    WEB 防止CSRF攻击
  • 原文地址:https://www.cnblogs.com/dudu/p/iis_user-mode_caching_cache-control_public.html
Copyright © 2011-2022 走看看