服务热线:400-0033-166
万商云集 - 企业数字化选用平台

企业首选的

数字选用平台

CDN缓存是什么意思?有什么优点和缺点?

2021-01-04 14:18:22 阅读(233 评论(0)

CDN是一种加快网站访问速度和用户下载资源速度的服务,那么CDN缓存是什么意思呢?优缺点是什么?对此,本文将告诉大家CDN加速的那些事情,有兴趣的伙伴们记得了解一下。什么是CDN?CDN是什么,之前已经给大家详细介绍过了,如果有不懂的伙伴可以重新了解一下。简而言之,CDN是ContentdeliveryNetwork的缩写,即“内容分发网络”。CDN加速一般是指网站加速或用户下载资源加速。也许这个专业说,很多朋友不容易理解,下面分享一个小记忆深刻的例子。举个流行的例子:说到CDN的作用,可以用8年买火车票的经验来形象比喻:8年前,没有火车票销售点,12306.cn更是无从谈起。当时,火车票只能在火车站的售票大厅买到,我住的小县没有火车,火车票必须去城市火车站买,从县到城市,来回是4个小时的车程,只是浪费生命。后来就好了。小县城有火车票售票点,可以直接在售票点买火车,方便多了。全市人民不再需要排队买票了。CDN可以理解为每个县的火车票销售点。用户浏览网站时,CDN会选择最接近用户的CDN边缘节点来响应用户的要求,这样海南移动用户的要求就不会一路跑到北京电信机房的服务器上(假设源站部署在北京电信机房)。CDN具有明显的优势:(1)CDN节点解决了跨运营商和跨区域访问问题,大大降低了访问延迟;(2)CDN边缘节点的大部分要求,CDN发挥了分流作用,减轻了源站的负荷。什么是CDN缓存? 这里不深入研究CDN背后的高架构,也不讨论CDN如何实现全球流量调度策略。本文重点讨论了CDN后数据是如何缓存的。缓存是用空间换时间到处存在的例子。我们可以通过使用多余的空间获得更快的速度。首先,看看用户浏览器和服务器是如何在没有网站访问CDN的情况下互动的:用户浏览网站时,浏览器可以将网站中的图片或其他文件的副本保存在本地,这样当用户再次访问网站时,浏览器就不需要下载所有文件,减少下载量意味着提高页面加载速度。如果在中间添加一层CDN,用户浏览器和服务器之间的交互如下:客户浏览器首先检查当地缓存是否过期,如果过期,请求CDN边缘节点,CDN边缘节点将检测用户请求数据缓存是否过期,如果没有过期,则直接响应用户请求,完成http请求;如果数据过期,然后CDN还需要向源站发出回源请求(backtothesourcerequest),提取最新数据。CDN的典型拓扑图如下:可以看出,在CDN存在的场景中,数据经历了两个阶段:客户端(浏览器)缓存和CDN边缘节点缓存。下面详细分析了客户端(浏览器)缓存1)客户端缓存在这两个阶段的缺点 服务器请求减少了客户端缓存,避免了文件的重复加载,显著改善了用户的位置。但是当网站更新时(比如css被替换)、js和图片文件),旧版本的文件仍然保存在浏览器本地,导致不可预测的后果。但是当网站更新时(比如css被替换)、js和图片文件),旧版本的文件仍然保存在浏览器本地,导致不可预测的后果。从前,一个页面被加载,页面元素的位置漂浮,按钮点击失败,前端GG习惯性地问:“缓存清楚吗?”然后Ctrl F5   ,EverythingisOK。但有时,如果我们只是在浏览器地址栏中敲回车,或者只是按F5刷新,问题仍然没有解决。你知道这三种不同的操作方法决定了浏览器不同的刷新缓存策略吗?如何确定浏览器是否使用本地文件或服务器上的新文件?下面介绍几种判断方法。Expiress浏览器缓存策略 Expires:Sat,24Jan201520:30:如果Expires设置在54GMThttp响应报文中,我们将避免在Expires过期前与服务器连接。此时,浏览器不需要要求浏览器,只需要判断手中的材料是否过期,完全不需要增加服务器的负担。Cache-control:max-ageexpires的方法很好,但我们每次都要计算一个准确的时间。max-标签可以让我们更容易处理过期时间。我们只需要说,你只能使用这个数据一周。Max-用秒来测量age,例如:Cache-Control:max-age=645672指定页面645672秒(7.47天)后过期。Last-为了通知浏览器当前文件的版本,Modified服务器将发送最后一个修改时间的标签,例如:Last-Modified:Tue,06Jan201508:26:32GMT使浏览器知道他收到的文件的创建时间。在后续请求中,浏览器将根据以下规则进行验证:1. 浏览器:Hey,我需要jquery.min.如果js是在Tue,06Jan201508:26:32GMT修改后,请发给我。2. 服务器:(检查文件的修改时间)3. 服务器:Hey,这份文件之后就没有修改过,你已经有了最新的版本。2. 服务器:(检查文件的修改时间)3. 服务器:Hey,这份文件之后就没有修改过,你已经有了最新的版本。4. 浏览器:太好了,那我就给用户看。在这种情况下,服务器只返回304响应头,减少响应数据量,提高响应速度。下图是按F5刷新页面后,页面返回304响应头。ETag 通常,通过修改时间来比较文件是可行的。但在一些特殊情况下,如服务器时钟错误、服务器时钟修改、夏季DST到来后服务器时间未及时更新等,会导致修改时间比较文件版本的问题。ETag可以用来解决这个问题。ETag是文件中唯一的标志符。每个文件都有一个单独的标志,就像哈希或指纹一样,只要文件发生变化,这个标志就会发生变化。服务器返回etag标签:ETag:"39001d-1762a-50bf790757e00"下一个访问顺序如下:1.浏览器:Hey,我需要jquery.min.js这个文件,没有不匹配"39001d-1762a-50bf790757e00"2.服务器:(检查etag..)3.服务器:Hey,这里的版本也是如此"39001d-1762a-50bf790757e00",4.浏览器:好的,你已经是最新版本了就像Last-modified一样,ETag可以用本地缓存来解决文件版本比较的问题。只是ETag的级别比Last-Modified高。但是ETag的级别比Last-Modified高。额外的标签缓存标签永远不会停止工作,但有时我们需要控制缓存的内容。Cache-control:代理服务器或其他中间服务器可以识别public表示缓存版本。Cache-control:private意味着该文件对不同的用户有所不同。只有用户自己的浏览器才能缓存,公共代理服务器不允许缓存。Cache-control:no-cache意味着文件的内容不应该缓存。由于相同的URL,相应的内容会发生变化,因此在搜索或翻页结果中非常有用。刷新浏览器缓存 1. 在地址栏中输入网站后,按下返回车辆或点击转移到按钮浏览器以获取最少的要求。浏览器将直接使用本地缓存所有未过期的内容,以减少对浏览器的要求。所以,Expires,max-age标记只对这种方法有效。2. 按F5或浏览器刷新按钮浏览器将在请求中添加必要的缓存协商,但浏览器不允许直接使用本地缓存,这可以使Last-Modified、ETag发挥作用,但对Expires无效。3. 按Ctrl F5或者按Ctrl,点击刷新按钮,就是强制刷新,总会在不使用任何缓存的情况下发出新的请求。CDN缓存 浏览器本地缓存失效后,浏览器将要求CDN边缘节点。CDN边缘节点也有一套类似浏览器缓存的缓存机制。CDN缓存的缺点 CDN的分流作用不仅减少了用户的访问延迟,而且减少了源站的负荷。但它的缺点也很明显:当网站更新时,即使用户使用Ctrll,如果CDN节点上的数据没有及时更新 由于CDN边缘节点没有同步最新数据,F5的方式使浏览器端的缓存失效,导致用户访问异常。CDN缓存策略 CDN边缘节点缓存策略因服务提供商而异,但通常遵循http标准协议,通过http响应头中的cache-control:max-CDN边缘节点数据缓存时间设置age字段。当客户端向CDN节点请求数据时,CDN节点将判断缓存数据是否过期。如果缓存数据未过期,缓存数据将直接返回客户端;否则,CDN节点将向源站发送源请求,从源站提取最新数据,更新本地缓存,并将最新数据返回客户端。CDN服务提供商通常会根据文件后缀和目录的多个维度来指定CDN缓存时间,为用户提供更精细的缓存管理。CDN缓存时间会直接影响“回源率”。如果CDN缓存时间较短,CDN边缘节点上的数据往往会失效,导致频繁回源,增加源站负载,增加访问延迟;如果CDN缓存时间过长,数据更新时间较慢。开发人员需要增加特定的业务来管理特定的数据缓存时间。与浏览器Ctrll相比,CDN缓存刷新CDN边缘节点对开发者是透明的 F5的强制刷新使浏览器本地缓存失效,开发者可以通过CDN服务提供商提供的“刷新缓存”接口清理CDN边缘节点缓存。这样,在更新数据后,开发者可以使用“刷新缓存”功能来强制CDN节点上的数据缓存过期,以确保客户在访问时获取最新数据。

内容来源:网络,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

python怎么下载安装

华为matebook14怎么下载python?下载方法如下 首先需要到python的官网上下载安装包,然后点击安装,选择默认安装路径,然后一直下一步下一步即可。 2.单击左下角的开始菜单,然后右键点击【计算机】,选择【属性】这个选项…查看详情

实时监控系统到底指的是什么呢?随小编一起揭密实时监控的真面目

如今足不出户就能了解到外面的世界,即使你没空看管你的门店,也能靠实时监控让自己放心,实时监控在现在高信息化时代随处可见,而随处可见的实时监控系统到底指的是什么呢?接下来就让我为大家揭晓实时监控的真面目吧。 实时监控是一种包括数据…查看详情

推荐几款超全面的画图软件,功能众多且老少通用

画图是一种艺术,随着时代的发展,我们从纸上画图到各大电子产品里画图,有些人拿它来放松,有些人拿它来工作,有些人拿它来赚钱。今天就来推荐几款超全面的画图软件。希望大家可以喜欢呀! 1.AdobePhotoshopCS6 这个A…查看详情

psd是什么文件的格式

psd格式图片有什么用?psd,格式,1.最大的作用是保持文件的最原始的信息,而其它格式都会失真! 2,可以在其它支持PSD格式的设计软件上通用,而文件信息能够适应当前软件配置的同时本身不会有很大的失真! 3.PSD格式支持多种…查看详情

企业注册cn域名到底好不好?

很多企业在搭建官网想法萌芽之初,关于域名的知识还是一知半解,大多只知道最为常见的com域名认为它便是最好的选择。而对于cn域名,根本不了解甚至不曾听说。下面小万就给大家细数一下cn域名的好处有哪些,解答企业注册cn域名到底好不好。 图片来源…查看详情

常见的CRM系统内容和功能

CRM系统是一种企业管理软件,也是一种管理理念,CRM系统内容是以客户为中心来统一实施的客户关系管理系统,为实施企业提供统一的管理界面和体系化的企业管理流程。运用先进的数字化技术,整理、分析和挖掘客户信息,为客户提供专属服务的同时,为企业寻…查看详情

有这6个信号,企业还不用CRM就晚了

许多销售人员在向企业推荐CRM产品时,老板总觉得自己不需要。殊不知,你正遭遇的经营管理困惑正亟待CRM来拯救。小万总结了企业该使用CRM产品的6个警告信号,一旦出现1个或多个信号时,企业就是时候考虑引入CRM产品了。1、部门之间缺少协作企业…查看详情

手机上怎么打开ai文件

  AI文件是Adobe Illustrator文件的缩写。它是一种不可压缩的向量图形文件,通常用于创建和编辑矢量图。然而,由于其格式独特,AI文件不是所有设备都可以直接打开的。本文将向您介绍如何在手机上打开AI文件,以便您能够在任何地方…查看详情

购物网站运营不能随波逐流,创新思维才能有所突破

全行业数字化趋势造就了大批购物网站,除去行业内几个大型网站平台可以凭借平台规模和流量,自由设置运营规则以外,各行各业的购物网站都需要努力学习运营知识来提升购物网站运营效果。很多人花了大量的时间和精力在运营上,但是取得的实际效果却不理想,下面…查看详情

盘点那些好用的收银系统免费软件

随着经济的高速发展,当今社会的收银方式也越来越多样化,分别有线上收银,线下收银等等,进行合理化便捷化的收银就需要一定的收银系统免费软件,今天就给大家推荐一波。 1.微收银系统免费软件 这款软件专门为各大门店和商铺的店长和工作人员所打造,提高…查看详情

炒股软件排行榜 免费的炒股软件

随着互联网时代的不断蔓延,我们可以发现,各种各样的炒股软件。上大学时,我们可以利用自己的一点逻辑思维进行炒股,赚一点小小的零花钱,下面为大家推荐几个炒股软件APP大家可以自己选择自己合适的闲暇时间来炒股一下。1、国泰君安app这款软件图线条…查看详情

干洗店加盟连锁费用大概要多少钱

  干洗店加盟连锁是一种快速开办自己的干洗店的方式,通过加盟,在总部的帮助和支持下,开店时间和风险都得到减小。但是,不同的连锁品牌,加盟费用和其他费用也会有所不同。本文将详细描述干洗店加盟连锁的费用,并为您提供一些有关开设干洗店的建议。  …查看详情

如何激活windows10专业版

  激活Windows10专业版是一个简单而重要的步骤,它确保您的操作系统深度集成并使用所有可用功能。激活Windows 10产品密钥是非常重要的,因为它提供了Windows操作系统的完整安全,更新和新特性。在这篇文章中,我们将介绍如何激…查看详情

What,年轻人现在都使用声音交友软件交友了?

当您需要靠交友来缓解孤独时,优美好听的声音总会给人带来无限的遐想。通过声音交友软件去结交新朋友,也是一见非常有意思的事情,我们可以通过声音交友软件和来自世界各地的朋友聊天,找到你心中的那个灵魂伴侣。为此小编帮大家收罗了几款高质量的声音交友软…查看详情

供应链管理系统可以解决企业哪些问题

供应链管理系统可以解决企业面临的许多问题。以下是其中一些主要问题和供应链管理系统的解决方案: 1.库存管理:供应链管理系统能够帮助企业有效管理库存,避免过量或不足的库存。它可以跟踪销售数据、预测需求、优化采购计划,并确保库存与需求相匹配。 …查看详情

最新文章