DNS解析过程
DNS
DNS全称叫做Domain Name System 翻译成中文叫做 域名系统,它有什么用呢?
在整个互联网体系中,约定俗成的用于标识网络上设备的地址是IP,然而当我们访问某个网站的时候,我们输入的却是域名,例如:
http://www.baidu.com
http://tieba.baidu.com
http://jk1123.com
http://www.qq.com
因为域名更方便人们记忆,不然那么多网站,人怎么可能记住所有的IP地址.说白了就是便于人们记忆的.
那么当我们在浏览器地址栏里输入 http://www.qq.com的时候,到底发生了什么?浏览器又是怎么访问到对应的服务器,拿到我们网站的数据呢?这里首先涉及到就是域名和网站服务器ip地址的解析过程.术语叫做DNS解析,接下来我们来看看DNS的解析的过程:
解析的步骤如下:
1) 浏览器缓存
当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的IP地址(若曾经访问过该域名且没有清空缓存便存在);
2) 系统缓存
当浏览器缓存中无域名对应IP则会自动检查用户计算机系统Hosts文件DNS缓存是否有该域名对应IP;
3) ISP(互联网服务提供商 或者叫本地网络服务商)DNS缓存
当在用户客服端查找不到域名对应IP地址,则将进入ISP DNS缓存中进行查询。比如你用的是电信的网络,则会进入电信的DNS缓存服务器中进行查找;
4) 根域名服务器
当以上均未完成,则进入根服务器进行查询。全球仅有13台根域名服务器,1个主根域名服务器,其余12为辅根域名服务器。根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com)服务器IP告诉本地DNS服务器;
5) 顶级域名服务器
顶级域名服务器收到请求后查看区域文件记录,若无则将其管辖范围内主域名服务器的IP地址告诉本地DNS服务器;
6) 主域名服务器
主域名服务器接受到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确纪录;
7)保存结果至缓存
本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个IP地址与web服务器建立链接。
次使用,同时将该结果反馈给客户端,客户端通过这个IP地址与web服务器建立链接。