查看浏览器内部缓存检测域名是否存在于浏览器缓存中,如果有缓存直策应用,没有则下一步。打开chrome://net-internals/#dns 即可查看本机浏览器的 DNS 缓存。
系统缓存浏览器会调用一个类似gethostbyname 的库函数,此函数会先去检测本地 hosts 文件,查看是否有对应 ip。
PS: 这里有一个点,localhost 默认 ip 是 172.0.0.1,这是一个回路段,也叫换回接口。也便是不会发往做事器,是直接在本地打开的。
路由器缓存、ISP 缓存如果浏览器和系统缓存都没有,系统的 gethostname 函数就会向 DNS 做事器发送要求。而网络做事一样平常都会先经由路由器以及网络做事商(电信),以是会先查询路由器缓存,然后再查询 ISP 的 DNS 缓存。
本地 DNS 做事器常日为自己打算机搭建的小型 DNS 做事器,自我利用,属于 DNS 优化的一部分。
域名做事器到此处的过程为:根域做事器(.) -> 顶级域名做事器(eg: .com,.org)->主域名做事器(eg: http://http://atguigu.com)
如果域名正常,该当就会返回 IP 地址,如果没有浏览器就会提示找不到做事器地址。
DNS 优化
DNS 查询的过程经历了很多的步骤,如果每次都如此,是不是会耗费太多的韶光,资源。以是我们该当尽早地返回真实的 IP 地址,减少查询过程,也便是 DNS 缓存。
浏览器获取到 IP 地址后,一样平常都会加到浏览器的缓存中,本地的 DNS 缓存做事器,也可以去记录。其余,每天几亿网名的访问需求,一秒钟几千万的要求域名做事器如何知足?便是 DNS 负载均衡。
常日我们的网站运用各种云做事,或者各种做事商供应类似的做事,由他们去帮我们处理这些问题。DNS 系统根据每台机器的负载量,以及地理位置的限定(长间隔的传输效率)等等,去供应高效快速的 DNS 解析做事。
前端安全干系口试题
前端JS高阶口试题
前端设计模式-口试题
前端项目性能优化-口试题
前端ES6高频口试题