Performance 网站共享缓存文件吗?

Performance 网站共享缓存文件吗?,performance,caching,optimization,browser,cdn,Performance,Caching,Optimization,Browser,Cdn,我们目前正在对我们的web项目进行优化,当时我们的负责人告诉我们,要推动将CDN用于外部库,而不是将其包括在编译+压缩过程中,并将其从支持缓存的nginx设置中推出 他的假设是,如果用户访问了使用CDN版本jQuery的example.com,那么此时jQuery将被缓存。如果用户碰巧访问了example2.com,并且碰巧使用了相同的CDN'ed jQuery,那么jQuery将从缓存而不是通过网络加载 所以我的问题是:域是否真的共享它们的缓存? 我认为,即使浏览器有可能共享缓存,问题是我们运

我们目前正在对我们的web项目进行优化,当时我们的负责人告诉我们,要推动将CDN用于外部库,而不是将其包括在编译+压缩过程中,并将其从支持缓存的nginx设置中推出

他的假设是,如果用户访问了使用CDN版本jQuery的
example.com
,那么此时jQuery将被缓存。如果用户碰巧访问了
example2.com
,并且碰巧使用了相同的CDN'ed jQuery,那么jQuery将从缓存而不是通过网络加载

所以我的问题是:域是否真的共享它们的缓存?

我认为,即使浏览器有可能共享缓存,问题是我们运行的前提是,以前的站点使用的是来自同一个确切CDN的同一个确切CDN文件。遇到使用相同CDN文件浏览网站的用户的几率有多大?他说使用最大的CDN来增加机会

因此,接下来的问题是:如果浏览器确实共享缓存,是否值得根据他的假设进行优化?


我查找了有关CDN的主题,但没有找到任何关于此“共享域缓存”或CDN以这种方式使用的信息。

您的线索是对的,这是基本HTTP。 您所做的只是向客户机指示它可以在哪里找到文件。 然后,客户端根据CDN的缓存规则处理向CDN发送请求

但是您也不应该在库中过度使用CDN,请记住,如果您需要特定版本的库,尤其是旧版本的库,那么由于版本碎片,您可能不会获得太多缓存命中率。 对于广泛使用和繁重的库(如jQuery),建议使用最新版本的jQuery

如果你能从同一个CDN中获取它们,那就更好了(比如:谷歌的),尤其是作为

此外,它们还可以为您节省带宽,当您有高流量负载时,带宽可以达到很多,并且可以减少远离服务器的用户的负载时间(谷歌的这一点非常好)