DNS 过程,步骤如下:
查看浏览器内部缓存
检测域名是否存在于浏览器缓存中,如果有缓存直接使用,没有则下一步。打开 chrome://net-internals/#dns即可查看本机浏览器的 DNS 缓存。
系统缓存
浏览器会调用一个类似 gethostbyname的库函数,此函数会先去检测本地 hosts 文件,查看是否有对应 ip。
路由器缓存、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高频面试题
DNS,地址解析服务器。这个服务是就是专门做这个工作的。DNS 是域名系统 (Domain Name System) 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。 DNS 命名用于 Internet 等 TCP/IP 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)