Answers:
CDN应该用于所有静态文件(.css / .js / images)。
但是,有时javascript或css文件可能具有动态方面,例如它将包括唯一的用户字符串或类似的内容。在这种情况下,CDN服务器必须在每次请求时都与原始服务器联系,这将使目的无效。
如果所有用户的CSS和Javascript都是静态的,那么使用CDN是正确的方法。这不会引起任何额外的HTTP请求,因为它只会从CDN而不是您自己的Web服务器中加载css和js文件(除非您使用内联代码)。因此,无需用户浏览器从您的服务器加载这些请求,而是通过CDN加载这些请求,没有其他请求,您只是在更改这些请求的发送位置(同样,只要您当前不使用内联代码)。
使用CDN的其他好处是CDN服务器最有可能位于您的最终用户附近,而不是您的来源,这将有利于加载时间。通过专门为Web服务器提供静态内容,CDN服务器也可能设置为比原始服务器更快地提供静态内容。
通常首选使用CDN与传统的Web托管来交付静态文件(例如CSS,JS和图像)。这是因为一旦您的文件被缓存在CDN的边缘服务器上,您的站点访问者就会从最近的访问点(PoP)而不是原始服务器获得静态内容。
在大多数情况下,这可以缩短客户端与服务器之间的距离,从而有助于缩短加载时间,而无需添加任何其他HTTP请求。这在其他方面也有帮助,例如增加冗余,减轻源头负担等。
如果需要CDN,请使用CDN。如果您的用户是全球性的,并且分布在大范围内,或者您有很多这样的内容不想存储在自己的服务器上,那么CDN很有用。在全球范围内,如果服务器离用户更近,它可以加快对内容的访问。如果您有许多GB或TB的静态数据,并且访问该内容的负担很重,那么CDN可以帮助您。
但是,小型的本地站点或负载较轻的站点很少需要这些东西,而CDN只会使设置,操作和工作流增加更多的复杂性,例如缓存问题。
我经常看到人们使用CDN,因为他们读到应该使用CDN,而没有其他原因。
使用CDN可能既是网站的负担,也是网站的收益,这取决于它的实现方式。
积极点
cdn1.example.com
,cdn2.example.com
等)有助于限制浏览器的固有限制,在这种浏览器中,它们可以一次将文件下载限制为从同一完全限定域名中同时下载两个文件。换句话说,使用此示例,您将www.example.com
始终从中访问HTML,同时从中下载2个文件,从中下载2个文件和从中下载2 cdn1.example.com
个文件cdn2.example.com
,并且cdn3.example.com
所有三个CDN域都访问一个CDN服务和源。在CDN上托管有很多缺点:
相比之下,优势微不足道:
在生产环境上使用CDN的理由零。