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过期之前,我们就避免了和服务器之间的连接。此时,浏览器无需想浏览器发出请求,只需要自己判断手中的材料是否过期就可以了,完全不需要增加服务器的负担。
微信记录同步电脑会覆盖电脑记录吗_微信记录同步 换手机 多年来我对游戏行业形成了很多看法。我最近有机会与2015年2月由Take-Two Interactive的2K品牌发布的Evolve视频游戏制...
例如,用户有从位置a到位置b的需求. 然后是产品经理的担忧, 1.可行性分析,A是否可以去B,有多少条路径,哪条是最好的。 2.成本分析成本最低,最舒适,到达时间最短,或者性能最具成...
怎么偷偷查看我老公和别人的微信聊天记录 如何恢复微信聊天记录 中国最小黑客汪正扬个人资料,年仅13岁。天才总是存在于人的心中,就像火藏在燧石中一样。只要条件满足,这块死石就能生火。在去年夏天的偶像剧...
好平台推荐在线接单免费一般 你还在傻傻的只用微信来聊天吗?那你也太落后了吧,微信的功能不仅仅是聊天,也并不是用来支付买东西。现在很多人都利用微信做生意,如果你还不知道这样...
有时在我们的工作或日常课堂上会接触到大大小小的圈子,有时这些圈子会给我们带来很大的祝福,但也有很多圈子,尽量不要接触得更好。 查开宾馆记录,真的可以在网上查到吗 1.有时,圆圈后面的人一旦联系上就...
医院手术中加价调解结果:兰州现代男科医院向患者补偿41450米,“高价”手术费终于有结果了! 医院手术中加价调解:医院向患者补偿41450米 11月15日,云南省患者抱怨兰州现代男科医院...