CDN全称Content Delivery Network,即内容分发网络,通过将服务内容分发至全网加速节点,利用全球调度系统使用户能够在就近节点获取所需内容,有效降低访问延迟,提升服务可用性。
那么它是如何工作的?
当你拥有一个网站时,你的网站将托管在虚拟主机或服务器所拥有的网络服务器上,主机的服务器可能位于某个位置,每当有人想要加载您的网站时,他们会向主机的服务器发送一条消息,该服务器会响应网站数据。
如果数据中心位于南宁,并且网络用户位于南宁地区,那么用户会获得较快的响应速度,如果网络用户位于背景,虽然它仍然可以正常工作,但响应速度会慢上许多,但是如果用户在香港,台湾等地,那么加载速度将会更慢,如果是外贸网站,那么它就更不好。在地理上距离越远,消息来回的时间越长。
这与国际流量相关,来自欧洲某地的流量必须通过各种区域服务器,并通过海洋上的卫星或海底电缆到达国内的服务器,然后一路返回数据。根据配置和延迟情况,很容易丢失请求,超时或无法加载,即使在理想情况下,也需要很长的加载时间。
内容分发网络的本质上是分散在世界各地的数十甚至数百个服务器的网络,当用户相应您的网站时,网站回应两件事情; 基本文本和数据以及从CDN中提取媒体和/或脚本的说明。用户的浏览器遵守这些指示并向CDN请求媒体。
架设香港的用户不需要从国内下载100 MB的图像或视频,而是直接
从国内的服务器上获取1.5 MB数据,并从香港的CDN端点获取剩余数据。
内容分发网络的SEO优势
当然,所有这些都是对现实情况的简化,但它却非常接近核心概念,您可以看到它如何加速全球用户的网页浏览,那么这如何影响你的网站优化?
首先,页面加载时间是搜索排名因素,加载网页所用的时间越长,网站的搜索排名越差。
CDN能够对网页的一切数据进行缓存加载,但速度的提升可能会影响您的业务,也可能不会影响您的业务。
相对而言国内基本上只针对百度搜索引擎进行优化,使用CDN分发网络固然可以提升页面的加载速度,但是加载速度不会有过于明显的提升,所有几毫秒的提升不太可能成为#3和#1的搜索排名之间的差异的因素,但是对于外贸网站(Google)而言这将成为决定性的排名因素。
如果您的网站只服务国内,您并不在乎在Google上如何显示的;,因为那些不是潜在的客户使不使用CDN全凭个人喜好,另一方面,如果您是外贸站点,则可以使用CDN提升海外用户的响应加载时间。
其次,在某些情况下,CDN可以增加安全性,我的意思是,即使网站未使用SSL加密,CDN也可以使用HTTPS提供媒体服务。
更快的图像索引,百度的图像搜索将基于其元数据的图像和由机器人执行的一些图像分析索引并由人类进行现场检查,对于一些网站,这可能是一个巨大的好处,对于企业站点,可能并不具备优势。尽管如此,如果您依赖图片获得大量流量,CDN可以使图片获得更快的速度,载入速度越快在搜索结果中的位置更好。(博主的动漫站无私的使用了CDN加速,网站全部以图片为主,每个月的流量费用也是一笔不小的支出)。
CDN服务推动DDoS保护,当大量的用户(通常是机器人)发出服务器请求时,他们通常发送大量的媒体页面请求,并导致服务器超载,最终导致网站无法访问。
由于您的媒体提供服务由CDN提供,所以DDoS攻击将转交给CDN服务器,而不是您自己的,某些CDN服务可以实施反DDoS步骤,这些步骤可以将临时IP范围列入黑名单,阻止将站点加载到发出请求的地理区域等等。
此外,CDN可以记录有关DDoS和僵尸网络的数据,并可以为国际安全社区汇总这些数据。
CDN存在的问题
首先,您可能会遇到跨站点安全问题,如果您在网站上运行SSL,但不在CDN上使用SSL,CDN可以将加密的内容用于未加密的网站,但反之亦然。如果您的网站已加密,但是媒体未加密,则网页浏览器将发出警告。如果您的CDN正在使用转发脚本,跨站点脚本警告通常会阻止站点完全加载(常见于Google浏览器)。
其次,错误的CDN配置可能会导致重复的内容问题,大多数CDN都会为其托管的内容设置标准化。
第三,CDN可能会延迟网站加载,当您阻止媒体渲染连接到CDN时,将会发生这种情况。从本质上讲,用户轮询你的Web服务器寻找加载页面,开始加载页面,然后必须等待CDN在页面完全加载之前作出响应。
当你加载脚本或媒体时,你希望它们被异步加载,无论您是否使用CDN,这都适用。您不希望您的博客文章的文本在文本出现之前不得不等待嵌入的视频加载,对吗?无论您是否使用CDN,延迟加载内容都非常重要。
CDN 的费用,虽然大多数CDN都很便宜,阿里云的一年包500 GB国内流量100多块钱,但是如果是大型网站或者高流量网站,消耗的流量或者带宽则非常高,想BILIBILI,acfun等视频站的CDN消耗更是惊人。
所以说,任何开支都是开支,如果您的预算不足,CDN的额外费用可能不是您想要支付的费用。另一方面,如果您的流量飙升,并且您的虚拟主机有一个带宽限制,那么你可能不会选择CDN。
当然你也可以使用百度的免费CDN,免费的CDN不会像付费CDN那样高效,但如果您想尝试一下,估计没有比百度更好的免费CDN。
正如你所看到的,CDN每一个可能的缺点都可以通过适当的配置来减轻,如果您遇到问题,那么您可以找到并解决问题,而不是放弃使用CDN的借口。