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过期之前,我们就避免了和服务器之间的连接。此时,浏览器无需想浏览器发出请求,只需要自己判断手中的材料是否过期就可以了,完全不需要增加服务器的负担。
身边的亲戚朋友都用微信,有时会遇到不能注册微信的问题而头疼。不能登录微信的现象,朋友的信息不能收到,不能聊天,是怎么回事呢?使用微信的人很多,为了分享信息,和朋友取得联系确实很好,但是,在使用过程中有...
怎样同步别人的微信又不被发现 前两天,小乐的一名身边的人像我同样乞助,说她的一个客户丧失了最紧张的数据,微信里的数据都没有备份,很难找回。丧失不小。小乐想说,为何不备份这么紧张的数据呢?在科技蓬勃的...
黑客是神秘的,而且他们也有种类之分。有的黑客专门靠接单为生,他们以接单为收入;有写黑客只是因为兴趣而当黑客……那么如何找到这些专业接单的黑客呢?其实啊,那些专门靠接单为收入的黑客是有专门的平台的,这就...
旅店的视频纪录、房间的开设纪录,以及能够证实人们出轨的证据,真的像网上那样,若能等闲拿到的话,便干脆删除吗?若做不到,旅店纪录会消散多久。究竟上,在这些事情上,也能够有些人没有简略的认知,但关于记者行...
方法一 在开机时按下F8进入“带命令提示符的安全”模式 输入“NET USER+用户名+123456/ADD” 可把某用户的密码强行设置为”123456...
黑客教你定位手机位置(网上黑客手机定位是真的吗),惟有经历手机号,才气精断定位您的地位,零偏差。你听到如许的话感应惊奇吗?你是奈何做到的?此次黑客又赢了!无论你用了几许平安技术来护卫本人,黑客都想找到...