我注意到大多数在线教程都使用CDN而不是仅在本地添加新文件(无论是CSS还是jQuery),并以<link href="~/Content/css/footer.css" rel="stylesheet" />
的方式进行引用。我已经阅读了相关资料,但仍然不太清楚为什么要使用CDN。除了更好的缓存之外,为什么要使用CDN而不是在本地编写文件并进行引用呢?
我注意到大多数在线教程都使用CDN而不是仅在本地添加新文件(无论是CSS还是jQuery),并以<link href="~/Content/css/footer.css" rel="stylesheet" />
的方式进行引用。我已经阅读了相关资料,但仍然不太清楚为什么要使用CDN。除了更好的缓存之外,为什么要使用CDN而不是在本地编写文件并进行引用呢?
许多网站使用HTTP/1.1,但这会导致很大的减速。HTTP/1.1无法并行发送文件,并且必须为每个请求再次发送头部/握手。这会导致巨大的延迟问题-这就是浏览器为什么要为一个主机使用多达六个连接以能够一次加载六个文件。使用CDN可以增加主机,因此每个CDN都会给您额外的六个连接。
但这实际上已经是历史了。
HTTP/2只使用一个连接,并且能够保持流和多路复用数据包。它在协议层上进行精灵/串联。
这意味着您可以并行发送许多文件(现在取决于您的带宽,因为延迟阻止了这种可能性)。您甚至可以优先处理文件并创建队列,以便较不重要的文件最后发送。
使用HTTP/2时,CDN实际上可能会再次减慢您的网站,因为您必须再次发送多个头部/握手,从而导致延迟。
对于HTTP/2,您需要HTTPS连接,但无论如何都建议使用。