CDN缓存是什么意思 解析CDN加速的这些事
发布时间:2023-03-21 13:39:26 所属栏目:经验 来源:
导读:CDN是为用户加速访问网站的速度和下载资源的快慢而提供的服务,那么,CDN缓存是什么意思?有什么优点和缺点?对此,本文就来告诉大家CDN加速的那些事,有兴趣的伙伴们记得了解一下。
简单的说,CDN是Content Deli
简单的说,CDN是Content Deli
|
CDN是为用户加速访问网站的速度和下载资源的快慢而提供的服务,那么,CDN缓存是什么意思?有什么优点和缺点?对此,本文就来告诉大家CDN加速的那些事,有兴趣的伙伴们记得了解一下。 简单的说,CDN是Content Delivery Network的简称,即“内容分发网络”的意思。一般我们所说的CDN加速,一般是指网站快进或者用户下载流量快进。 CDN就可以理解为分布在每个县城的火车票代售点,用户在浏览网站的时候,CDN会选择一个离用户最近的CDN边缘节点来响应用户的请求,这样海南移动用户的请求就不会千里迢迢跑到北京电信机房的服务器(假设原站部署在北京电信机房)上了。 CDN的优势很明显: (1)CDN节点解决了跨运营商和跨地域访问的问题,访问延时大大降低; (2)大部分请求在CDN边缘节点完成,CDN起到了分流作用,减轻了源站的负载。 CDN缓存是什么? 这里不深究CDN背后高大上的架构,也不讨论CDN如何做到全局流量调度策略,本文着重讨论在有了CDN后,数据是如何被缓存的。缓存是一个到处都存在的用空间交换时间的例子。通过使用多余的空间,我们能够获取更快的速度。 客户端浏览器先检查是否有本地缓存是否过期,如果过期,则向CDN边缘节点发起请求,CDN边缘节点会检测用户请求数据的缓存是否过期,如果没有过期,则直接响应用户请求,此时一个完成http请求结束;如果数据已经过期,那么CDN还需要向源站发出回源请求(back to the source request),来捞取最新的数据。 如果http响应报文中设置了Expires,在Expires过期之前,我们就避免了和服务器之间的连接。此时,浏览器无需向浏览器发出请求,只需要自己判断手中的材料是否过期就可以了,完全不需要增加服务器的负担。 Expires的方法很好,但是我们每次都得算一个精确的时间。max-age 标签可以让我们更加容易的处理过期时间。我们只需要说,这份资料你只能用一个星期就可以了。 这样浏览器就知道他收到的这个文件创建时间,在后续的请求中,浏览器会按照下面的规则进行验证: 1. 浏览器:Hey,我需要jquery.min.js这个文件,如果是在 Tue, 06 Jan 2015 08:26:32 GMT 之后修改过的,请发给我。 2. 服务器:(检查文件的修改时间) 3. 服务器:Hey,这个文件在那个时间之后没有被修改过,你已经有最新的版本了。 4. 浏览器:太好了,那我就显示给用户了。 在这种情况下,服务器仅仅返回了一个304的响应,减少了响应的数据量,提高了响应的速度。 CDN缓存刷新 CDN边缘节点对开发者是透明的,相比于浏览器Ctrl+F5的强制刷新来使浏览器本地缓存失效,开发者可以通过CDN服务商提供的“刷新缓存”接口来达到清理CDN边缘节点缓存的目的。这样开发者在更新数据后,可以使用“刷新缓存”功能来强制CDN节点上的数据缓存过期,保证客户端在访问时,拉取到最新的数据。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
