深入理解域名的解析顺序
2013-08-05 18:37
253 查看
一般来说,DNS的查询包括下列两个过程。
【客户机解析过程】
【服务器解析过程】
1、客户机解析过程
客户机解析就是先查询自己的DNS缓存,如果在缓存中找到对应记录,就使用该记录作为解析结果。客户机DNS缓存中的记录有两种来源:本地hosts文件和以前本机进行的DNS查询记录。本地hosts文件保存在“%systemroot\system32\drivers\etc”文件夹下,可以使用记事本编辑。默认hosts文件只有一个127.0.0.1---localhost记录,用户可以在该文件内添加新的记录,如下图所示。用户可以使用“ipconfig /displaydns”命令查看DNS缓存,使用“ipconfig /flushdns”命令刷新DNS缓存。
如果没有找到就将查询请求转发给DNS服务器,客户机存储着一张服务器查询列表,表内有首选DNS服务器和备用DNS服务器的记录。如果主机没能在本地缓存中找到映射条目,就会查询首选DNS服务器,如果首选DNS服务器不可用或无法解析,那么本机将会向备用DNS服务器发送查询请求。
注意:
刷新DNS缓存将清除以前的DNS查询记录,此时缓存内的记录就是hosts文件内的记录。当hosts被修改并保存后会直接刷新DNS缓存,效果跟使用“ipconfig /flushdns”命令相同。
2、服务器解析过程
当服务器收到客户端的查询信息后,先判断所查询的域名是否属于本地区域。如果属于本地区域,DNS服务器会查询自己的记录,并回应该查询信息。如果不属于本地区域,DNS服务器将会查看本地缓存,查看是否有匹配的条目。如果在缓存中依然不能找到该记录,那么,默认情况下查询请求会依据该DNS服务器的配置继续向其他DNS服务器请求查询,解析域名。
【客户机解析过程】
【服务器解析过程】
1、客户机解析过程
客户机解析就是先查询自己的DNS缓存,如果在缓存中找到对应记录,就使用该记录作为解析结果。客户机DNS缓存中的记录有两种来源:本地hosts文件和以前本机进行的DNS查询记录。本地hosts文件保存在“%systemroot\system32\drivers\etc”文件夹下,可以使用记事本编辑。默认hosts文件只有一个127.0.0.1---localhost记录,用户可以在该文件内添加新的记录,如下图所示。用户可以使用“ipconfig /displaydns”命令查看DNS缓存,使用“ipconfig /flushdns”命令刷新DNS缓存。
如果没有找到就将查询请求转发给DNS服务器,客户机存储着一张服务器查询列表,表内有首选DNS服务器和备用DNS服务器的记录。如果主机没能在本地缓存中找到映射条目,就会查询首选DNS服务器,如果首选DNS服务器不可用或无法解析,那么本机将会向备用DNS服务器发送查询请求。
注意:
刷新DNS缓存将清除以前的DNS查询记录,此时缓存内的记录就是hosts文件内的记录。当hosts被修改并保存后会直接刷新DNS缓存,效果跟使用“ipconfig /flushdns”命令相同。
2、服务器解析过程
当服务器收到客户端的查询信息后,先判断所查询的域名是否属于本地区域。如果属于本地区域,DNS服务器会查询自己的记录,并回应该查询信息。如果不属于本地区域,DNS服务器将会查看本地缓存,查看是否有匹配的条目。如果在缓存中依然不能找到该记录,那么,默认情况下查询请求会依据该DNS服务器的配置继续向其他DNS服务器请求查询,解析域名。
相关文章推荐
- java深入理解---异步回调机制实例解析
- 深入理解多态虚函数--虚函数表解析
- 深入理解Feign之源码解析
- 深入理解JavaScript系列(3):全面解析Module模式
- 深入理解Java类加载器(1):Java类加载原理解析
- 深入理解PHP之数组(遍历顺序)
- 聊聊高并发(二十四)解析java.util.concurrent各个组件(六) 深入理解AQS(四)
- CSAPP深入理解计算机系统实验datalab解析
- 深入理解Nginx:模块开发与架构解析 读书笔记
- (转)MOMO的Unity3D研究院之深入理解Unity脚本的执行顺序(六十二)
- Native JsBridge源码解析 深入理解JsBridge
- 深入理解PHP之数组(遍历顺序)
- 深入理解Struts 2.1及应用开发实例解析
- MyBatis 源码解析:通过源码深入理解 SQL 的执行过程
- 深入理解Java内存模型(三)——顺序一致性
- hosts文件中同一个域名两个IP的解析顺序
- 深入理解PHP之数组(遍历顺序)
- 数据结构之线性表之顺序表和链表(通过数据结构角度深入理解arrayList和linkedList的特性)
- 深入理解JavaScript系列 ----(3):全面解析Module模式