1》DNS:域名系统,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数据串,DNS解析就是网址到IP地址的转化。DNS解析的过程就是寻找哪台机器上有我们需要资源的过程。
2》当你在浏览器输入url地址时,浏览器开始查找域名的IP地址
1)请求一旦发起,浏览器首先就是解析这个域名,一般,浏览器会首先查看本地host文件,查找其中和这个域名对应的规则,如果有的话就直接使用host文件里面的IP地址
2)没有找到的话,浏览器就会向本地DNS服务器发送一个DNS请求。
3》DNS解析过程:
1)本地DNS服务器拿到请求后会首先查询它的缓存记录,如果缓存有这条记录的话直接返回。这时候拿到的IP地址会被标记为非权威服务器的应答。如果没有本地DNS服务器还要向DNS根服务器进行查询
2)根DNS服务器拿到这个请求后,告诉本地的DNS服务器,你可以到域服务器上继续查找,并给出域服务器的地址。这种过程是迭代的过程
3)然后本地DNS服务器继续向域服务器发出请求
4)最后,本地DNS服务器向域名的解析服务器发出请求,这时就能收到一个域名和IP对应关系,本地DNS服务器把IP地址返回给用户电脑,并把这个对应关系保存在缓存中,以备下次别的用户查询时,可以直接返回结果,加快网络访问。
4》两种查询方式
递归查询
迭代查询
5》DNS优化:
DNS过程有很多步,很浪费时间,需要DNS优化就是DNS缓存
DNS存在多级缓存,从离浏览器的距离排序的话:浏览器缓存,系统缓存,路由缓存,IPS(互联网提供商)服务器缓存,根域名服务器缓存,顶级域名服务器缓存,主机域名服务器缓存