跳到主要内容

CDN

一、认识


CDN(内容分发网络,Content Delivery Network)是一种分布式的服务器网络,其主要目的是将静态资源(如图片、视频、CSSJavaScript 等)缓存到离用户更近的节点,以提高内容加载速度、降低延迟,并减轻源服务器的负担。

CDN 原理: CDN 由遍布全球的多个边缘节点(Edge Nodes)组成,这些节点缓存了源站(Origin Server)的内容。当用户请求某个资源时,CDN 会将请求路由到离用户最近、响应最快的节点,从而实现更快速的内容传输。每个 CDN 节点会将常访问的资源缓存一段时间(依据 TTL 及缓存策略),当有用户请求相同资源时,节点直接返回缓存内容,而无需每次都从源站获取。CDN 通常具备负载均衡和智能路由的功能,通过 DNS 解析和网络监控,选择最优节点响应用户请求,从而降低延迟和网络拥堵。

二、问题


2.1 为什么利用多个域名来存储网站资源会更有效?

利用多个域名来存储网站资源可以带来以下好处:

CDN缓存更方便:内容分发网络(CDN)可以更轻松地缓存和分发位于不同域名下的资源,提高资源的访问速度和可用性。 突破浏览器并发限制:大多数浏览器对同一域名下的并发请求数量有限制,通过将资源分布在多个域名下,可以突破这一限制,同时发送更多的并发请求,加快页面加载速度。 节约cookie带宽:浏览器在每个请求中都会携带相应域名下的cookie信息,通过将资源分布在不同的域名下,可以减少对cookie的传输,节约带宽和提高性能。 节约主域名的连接数:浏览器对同一域名下的连接数也有限制,通过将资源请求分散到多个域名下,可以减少对主域名的连接数占用,提高页面的响应速度和并发处理能力。 防止不必要的安全问题:将静态资源与主要网站内容分离到不同的域名下,可以降低恶意攻击者利用资源加载过程中的安全漏洞对主站点进行攻击的风险。 综上所述,通过利用多个域名来存储网站资源,可以提升网站的性能、安全性和用户体验。

参考资料

进阶知识体系之你不能不知道的CDN