不缓存脚本的跨子域加载

Cross sub domain loading of scripts is not cached

我们的内部网中有 subDomainA.domainX.com 和 subDomainB.domainX.com。

我们在 "subDomainA" 中使用经典 ASP 页面 "pageP" 来显示页面的一部分。 "pageP" 加载大小为 0.5 MB 的脚本 "script1"。 在第一次加载脚本后,在 subDomainA 中将其缓存。

然而,当 subDomainB 使用 CORS "script1" 加载 pageP 时,总是加载缓存错误。我们可以在“网络”选项卡中看到这一点,因为添加了“_=timestamp”。

托管 "pageP" 的 web.config 具有以下设置:

<httpProtocol>
            <customHeaders>
                <add name="Access-Control-Allow-Origin" value="*" />
            </customHeaders>
        </httpProtocol>

...

 <caching enabled="true">
            <profiles>
                <remove extension="*" />
                <add extension=".js" policy="CacheUntilChange" kernelCachePolicy="DontCache" location="Any" />
                <add extension=".css" policy="CacheUntilChange" kernelCachePolicy="DontCache" location="Any" />
                <add extension=".png" policy="CacheUntilChange" kernelCachePolicy="DontCache" location="Any" />
                <add extension=".jpg" policy="CacheUntilChange" kernelCachePolicy="DontCache" location="Any" />
                <add extension=".gif" policy="CacheUntilChange" kernelCachePolicy="DontCache" location="Any" />
            </profiles>
        </caching>

我们如何确保 "script1" 从 subDomainB 加载时缓存设置为 true?

这与您的服务器设置无关,它在附加该键和值的客户端中 jQuery。

如果要缓存请告诉它:

$.ajaxSetup({cache: true});