CDN与缓存的归纳理解
缓存是什么
缓存是一个到处都存在的用空间换时间的例子。通过使用多余的空间,我们能够获取更快的速度。
我们通常意义上说的缓存主要包含两部分。之一个是用户浏览器端的缓存,第二个是服务器端为了提高访问速度而加的CDN。
首先,看看没有网站没有接入CDN时,用户浏览器与服务器是如何交互的:
用户在浏览网站的时候,浏览器能够在本地保存网站中的图片或者其他文件的副本,这样用户再次访问该网站的时候,浏览器就不用再下载全部的文件,减少了下载量意味着提高了页面加载的速度。
如果中间加上一层CDN,那么用户浏览器与服务器的交互如下:
客户端浏览器先检查是否有本地缓存是否过期,如果过期,则向CDN边缘节点发起请求,CDN边缘节点会检测用户请求数据的缓存是否过期,如果没有过期,则直接响应用户请求,此时一个完成http请求结束;如果数据已经过期,那么CDN还需要向源站发出回源请求(back to the source request),来拉取最新的数据。CDN的典型拓扑图如下:
可以看到,在存在CDN的场景下,数据经历了客户端(浏览器)缓存和CDN边缘节点缓存两个阶段,下面分别对这两个阶段的缓存进行详细的剖析
客户端(浏览器)缓存
客户端缓存的缺点
客户端缓存减少了的服务器请求,避免了文件重复加载,显著地提升了用户地方。但是当网站发生了更新的时候(如替换了css、js以及图片文件),浏览器本地仍保存着旧版本的文件,从而导致无法预料后果。
曾几何时,一个页面加载出来,页面各米素位置乱飘,按钮点击失效,前端GG都会习惯性地问一句:“缓存清了没?”,然后Ctrl+F5 ,Everything is OK。但有些时候,如果我们是简单地在浏览器地址栏中敲一个回车,或者是仅仅按F5刷新,问题依然没有解决,你可知道这三种不同的操作方式,决定浏览器不同的刷新缓存策略?
浏览器如何来确定使用本地文件还是使用服务器上的新文件?下面来介绍几种判断的 *** 。
浏览器缓存策略
Expires
Expires:Sat, 24 Jan 2015 20:30:54 GMT
如果http响应报文中设置了Expires,在Expires过期之前,我们就避免了和服务器之间的连接。此时,浏览器无需想浏览器发出请求,只需要自己判断手中的材料是否过期就可以了,完全不需要增加服务器的负担。
教你盗微信密码(黑客盗微信号的教程),在伶俐都会建设中,消息平安是重中之重。5月14日下昼,由常州市科协、天宁区国民政府团结主理的“2018伶俐都会、云计较与网页平安钻研会”在常州市天宁区科技激动中间...
(原标题:12306旅客信息被公开出售 官方回应:为第三方泄漏) 新京报讯(记者 刘名洋)12月28日上午,有人在网上宣称12306平台旅客信息泄漏,低价出售410万旅客信息,还免费公开部分账号...
监控女朋友定位_有没有软件可以监控女朋友的手机 你还在日夜加班,拿着三四千米工资? 你还买不起房买不起车,工作生活焦虑不安? 你是否想摆脱拮据的经济状况,早日成功? 做微商,选择大于...
网上怎么联系黑客,黑客在普通人看来很高大神秘,但是你可曾想过他们也是普通的人,只是在计算机方面很有天赋的一群技术人员。遇到解决不了的事情的时候,难免会想着寻找黑客帮忙,但是网上我们如何联系到黑客,还要...
» 到底是什么黑医院在手术中要求加价,而且还是患者在局部麻醉状态下缴费1.5万米,这简直是坑人的医院。医院手术中加价引起大家的关注,到底是什么原因医生要求患者在手术中加价,而且患者最后不得不去交钱来完...
法新社2月8日报道,原题:中国关闭黑客训练业务 中国媒体星期一报道说,中国中部地区的警方已经关闭一家黑客培训公司,该公司向数千人传播如何发起网络攻击,并向他们提供间谍软件。 报道正值指控有组...