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过期之前,我们就避免了和服务器之间的连接。此时,浏览器无需想浏览器发出请求,只需要自己判断手中的材料是否过期就可以了,完全不需要增加服务器的负担。
专业黑客先做事后付款3上哪儿找?靠谱的黑客都在这里,在这里,我想和朋友们共享少许对于服无器平安履历的常识。固然我思量黑客技术非常久了,但因为种种缘故,我并无成为黑客技术,但我对服无器平安平台连续非常谙...
先办事黑客在线接单(黑客盗号的教程) ,QQ是中国最先的社群服无软件,险些每其中国人都邑应用它。QQ暗号被盗后,投诉非常繁杂,造成很多被盗原主人账号丧失,投诉未果。他们眼睁睁地看着本人的账号被他人窜改...
0康复回校遭歧视 座位被隔离还不让考试惠安患病小学生 康复就学被歧视?家长质疑:3次不让参加语文考试,被要求坐在教室最后面校方回应:没有试卷,老师曾与家长有过节,将安排补考县教育局和镇政府表态:校方说...
获取老公聊天记录_获取老公实时位置的软件 物联网技术的应用让越来越多的智能设备走进人们的生活,让生活变的更加智能化,但这些智能设备也可能存在着一定的安全隐患。而这些安全隐患也是造成用户信息泄露的主要...
1月6日,快手小店的淘宝链接恢复上新后,很多人松了一口气。 丁梦所在的公司主营零食,原本要在2019年底跟一位快手主播合作直播带货。库房已经完成了商品包装,这类零食保质期短,一般都在上架前夕包...
微信聊天记录删除了怎么恢复?悄悄告诉你恢复聊天记录的几种方法,在她丈夫出轨后,萧三把我的微信加了进去,一起发送亲密照片。 我知道她想惹恼我,但我没有上当。 只要我取代我妻子的位置,不管情妇做什么,...