0

我有一个指向我的 webapp 的 azure cdn 设置。当我更改样式表并部署 webapp 时,样式会立即更新。那么在这种情况下是否没有任何清除要求?在这种情况下,cdn 会自动从 webapp 更新样式吗?

我正在根据这篇文章 https://azure.microsoft.com/en-in/documentation/articles/cdn-websites-with-cdn/

4

2 回答 2

0

不,CDN 不会自动更新 webapp 的 CSS。为了安全起见,您应该始终清除。

CDN 是一项全球服务,您看到 CSS 更新并不意味着其他所有人都看到了 CSS 更新。另一个 IP 地址可能仍会缓存旧的 CSS。

此外,缓存控制头也在这里发挥作用。

于 2016-06-29T01:09:14.920 回答
0

如果资源的 URL 保持不变,CDN 服务器(和浏览器)可以自由地缓存它们。因此,如果您使用 CDN,则每次文件内容更改时都需要强制更改 URL(通常通过添加版本字符串来完成)。因为它对您有用,所以您的文件根本没有从 CDN 获得服务,或者 URL 正在以某种方式更新。

查看获取样式表的 URL(浏览器调试器中的网络选项卡)。确保 URL 路径实际上来自 CDN,而不是直接来自您的网站。

如果您有一个 MVC.net 应用程序并且您使用 System.Web.Optimization.BundleCollection 作为样式包,它会向嵌入在 HTML 中的 URL 添加一个查询参数,并在文件内容更改时更改它。这可确保不使用过时的资源缓存副本。

请参阅http://www.asp.net/mvc/overview/performance/bundling-and-minification上的 CDN 和捆绑缓存部分

于 2016-06-27T19:51:53.600 回答