目录
HTTP网络请求过程:
1.域名解析
2.TCP三次握手
3.tcp连接后发出Http请求
4.服务器响应Http请求
5.浏览器解析,并请求相对应资源
6.渲染页面
DNS处于请求的哪个位置呢?
他在过程中是 第一步 域名解析
如下图,在解析域名对应的地址时,在TCP三次握手之前。
DNS基本工作:
接受客户端的查询消息
根据消息能容返回响应
DNS服务器会从域名与IP地址的对照表中寻找相应的记录,并返回IP地址
客户端的消息包含以下三种消息
1.域名 = www.cccc
2.Class = IN
3.记录类型 = A
具体如何查找呢?
从域名与IP地址的对照表中寻找相应的记录,并返回IP地址
1.首先访问最近的一台DNS服务器(客户端的TCP/IP设置中填写的DNS服务器地址)
2.如果没有就会重新寻找
(1)理想状态: 从顶层向下查找,即根域DNS服务器,如果没有,他通过判断知道你是com域的,就会告诉你去我管理的com域问问,于是最近的DNS服务器就去发送查询消息,以此类推就找到了最终IP地址。如下图
(2)现实中:一台DNS服务器管理多个域,上级域可能与下级域在一台服务器,并且DNS服务器还有缓存功能,直接查找,如果查找不到,缓存本身会记录相关信息,可以直接从缓存记录的位置开始查找,不用从根域开始寻找。
总结域名解析过程:
按顺序查找,找到则成功退出
1.浏览器的DNS缓存查找,没有则2
2.操作系统的DNS缓存查找,没有则3
3.host文件查找,没有则4
4.TCP/IP设置的本地DNS服务器查找,没有则5
5.DNS服务器的缓存,如果缓存中也没找到,没有则6
6.13台根DNS,同上问讲的理想状态寻找,一层域,一层域找,就像俄罗斯套娃一样。
参考书籍:《网路是怎样的连接的》