10

我想从我的内容交付网络中提取最新版本。

问:而不是说:

cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.js

有没有办法说这样的话:

cdnjs.cloudflare.com/ajax/libs/modernizr/modernizr.js

并且不包括版本号?

4

1 回答 1

10

你不想这样做。CDN 是关于积极缓存的。例如,CDN 服务器发送远在未来的Expires标头以确保资源保持缓存状态。

如果有一个 URL 总是指向最新版本,那么你所有的缓存都会发疯。一些客户仍然看到旧版本,而另一些客户则看到新版本。事实上,添加版本或其他标签是确保获取新版本并且客户端不涉及缓存的已知技术。只需查看您正在查看的页面的源代码:

http://cdn.sstatic.net/js/stub.js?v=655f0a867d03

如果没有参数 StackOverflow 中的噪音,v团队永远无法同时拥有:出色的缓存和快速可靠地推送新版本的能力。

最后但同样重要的是 - 您确定要盲目加载具有未知错误和弃用的最新脚本版本吗?考虑到第一部分,即使有人在抱怨,也很难判断他真正使用的是哪个版本。

于 2013-02-10T19:00:44.737 回答