DNS的查询过程如下:
1.首先是搜索浏览器自身的DNS缓存,如果存在,则域名解析到此完成。
2.如果浏览器自身的缓存里面没有找到对用的条目,那么尝试读取操作系统的hosts文件是否存在对应的映射关系,如果存在,则域名解析到此完成
3.如果本地hosts文件不存在映射关系,则查找本地DNS服务器(ISP服务器,或者自己手动设置的DNS服务器,)如果存在,则域名解析到此完成。
4.如果本地DNS服务器还没有找到,它就会向根服务器发出请求,进行递归查询
全称Content Delivery Network,即内容分发网络
摘录一个形象的比喻,来理解CDN是什么。
10年前,还没有火车票代售点一说,12306.cn更是无从说起。那时候火车票还只能在火车站的售票大厅购买,而我所在的小县城并不通火车,火车票都要去市里的火车站购买,而从我家到县城再到市里,来回就是4个小时车程,简直就是浪费生命。后来就好了,小县城里出现了火车票代售点,甚至乡镇上也有了代售点,可以直接在代售点购买火车票,方便了不少,全市人民再也不用在一个点苦逼的排队买票了。
简单的理解CDN就是这些代售点(缓存服务器)的承包商,他为买票者提供了便利,帮助他们在最近的地方(最近的CDN节点)用最短的时间(最短的请求时间)买到票(拿到资源),这样去火车站售票大厅排队的人也就少了。也就减轻了售票大厅的压力(起到分流作用,减轻服务器负载压力)。
**简而言之:
用户在浏览网站时,CDN会选择一个离用户最近的CDN边缘节点来响应用户的请求。**
CDN边缘节点缓存策略因服务商不同而不同,但一般都会遵循http标准协议,通过http响应头中的的字段来设置CDN边缘节点数据缓存时间。
Cache-control: max-age
当浏览器向CDN节点请求数据时,CDN节点会判断缓存数据是否过期,若缓存数据并没有过期,则直接将缓存数据返回给客户端;否则,CDN节点就会向服务器发出回源请求,从服务器拉取最新数据,更新本地缓存,并将最新数据返回给客户端。 CDN服务商一般会提供基于文件后缀、目录多个维度来指定CDN缓存时间,为用户提供更精细化的缓存管理。
CDN的优势
1.CDN节点解决了跨运营商和跨域访问的问题,访问延时大大减低
2.大部分请求在CDN边缘节点完成,CDN起到了分流作用,减轻了源服务器的负载
什么时浏览器缓存?
简而言之:浏览器缓存其实就是浏览器保存通过HTTP获取的所有资源,是浏览器将网络资源存储在本地的一种行为
浏览器的三级缓存原理 (访问缓存优先级)
-
先在内存中查找,如果有,直接加载。
-
如果内存中不存在,则在硬盘中查找,如果有直接加载。
-
如果硬盘中也没有,那么就进行网络请求。
-
请求获取的资源缓存到硬盘和内存。
浏览器缓存的优点
1.减少了冗余的数据传输
2.减少了服务器的负担,大大提升了网站的性能
3.加快了客户端加载网页的速度
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+点击【学习资料】即可领取!
//bbs.csdn.net/topics/618191877)即可领取!
[外链图片转存中…(img-gXTtOtZS-1712874503330)]
[外链图片转存中…(img-VdyYV1Vu-1712874503330)]