是否有一个cdn用于具有缓存时间的最新jquery?

是否有一个cdn用于具有缓存时间的最新jquery?,jquery,cdn,Jquery,Cdn,jquery为您提供了执行以下操作的可能性: <script src="http://code.jquery.com/jquery-latest.js"></script> 问题是该文件没有任何过期日期,所以客户端总是需要它 另一个选项是http://ajax.googleapis.com/ajax/libs/jquery/x.x.x/jquery.min.js有效期为1年 那么,有人知道一个cdn提供了一个jquery-latest.js,并且有一些缓存时间吗?

jquery为您提供了执行以下操作的可能性:

 <script src="http://code.jquery.com/jquery-latest.js"></script>

问题是该文件没有任何过期日期,所以客户端总是需要它

另一个选项是
http://ajax.googleapis.com/ajax/libs/jquery/x.x.x/jquery.min.js
有效期为1年

那么,有人知道一个cdn提供了一个jquery-latest.js,并且有一些缓存时间吗?

没有

指定far future expires标头可以提高性能的原因是,如果文件在expires时间范围内,浏览器可以立即使用该文件的本地副本。在这种情况下,浏览器根本不会发出HTTP请求,甚至不会检查304“未修改”响应

这意味着“最新版本”引用不能与性能优化的expires头一起提供。如果是的话,就根本无法保证任何给定浏览器会使用文件的哪个版本作为参考


在生产中,您应该始终使用完全合格的x.y.z版本号,而不是任何“获取最新”的参考。谷歌的CDN为jQuery提供了一个+1年过期的标题,当你以这种方式引用它时,这与公共CDN的跨站点缓存潜力相结合,意味着你的许多用户可能根本不需要在你的站点上对jQuery发出HTTP请求。

为什么缓存时间不是在你的服务器上的问题?在CDN的情况下,这是最终用户和CDN之间的问题,您为什么会担心这一点?除此之外,如果最终用户愿意,他总是可以请求一个新文档,或者决定使用一个旧的缓存文档。您真的想使用最新版本的jQuery,而不是针对您的软件进行测试的特定版本吗?必须这样(无缓存),因为该URL在任何时候都可能提供不同的位。一个完全限定的版本号在现在和将来都将提供相同的位,所以任何长度的缓存都应该是可以的。我完全不同意你的看法,因为即使是“jquery lastest.js”的过期时间也可能是+1小时(开发人员只需在新jquery发布后等待1小时,就可以知道它会一直在用户缓存上更新,如果这是一个问题的话)。一个+1小时的过期时间比你在生产中的预期时间要短得多,如果您关心性能优化(这是CDN的重点),对我来说似乎很简单。如果您需要可访问性,请不要使用“最新”版本。这两者似乎相互排斥。