0

我想为我的网站的静态内容启用缓存。我发现这种方法使用 IIS 缓存控制选项,我猜它在服务器端有效:

    <caching>
        <profiles>
            <add extension=".js" policy="CacheUntilChange" kernelCachePolicy="DontCache" />
            <add extension=".css" policy="CacheUntilChange" kernelCachePolicy="DontCache" />
        </profiles>
    </caching>

我还为静态内容的客户端缓存找到了这个解决方案:

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

添加上述两个代码后,我已经清除了历史记录并使用了硬刷新。但是当我在 Chrome 控制台中检查网络选项卡时,静态内容的加载时间仍然以秒为单位(不是来自用户缓存)。我不得不说禁用缓存的复选框在开发人员控制台中也未选中。

编辑:更新后kernelCachePlicyCacheUntilChange我曾经netsh http show cachestate检查过缓存的状态,这是一个示例输出,但浏览器仍然从服务器而不是从本地缓存加载文件。

URL: [PTAH TO A PNG FILE]
    Status code: 200
    HTTP verb: GET
    Cache policy type: User invalidates
    Creation time: 2017.11.1:20.41.18:0
    Request queue name: MyPool
    Content type: image/png
    Content encoding: (null)
    Headers length: 244
    Content length: 1507
    Hit count: 5
    Force disconnect after serving: FALSE
4

0 回答 0