HTTP请求过程(一)——DNS解析过程

我们在浏览器输入网址后,按回车键,要浏览的内容就会显示出来。那么在开发者眼中,这个过程是咋样的呢?

其实,从我们输入URL到页面显示,大致可以分为三步:

第一步:进行域名解析,得到IP地址;

第二步:找到IP地址对应的服务器通过三次握手建立TCP连接,向服务器发送HTTP Request请求,并得到服务器的Response响应;

第三步:浏览器根据响应结果渲染输出页面。

DNS解析过程

今天要介绍的就是第一步:DNS解析过程,这里我们以访问百度首页为例子。

1.在浏览器中输入www.baidu.com之后,系统会检查本地hosts文件是否存在域名映射,如果存在,则域名解析到此完成,我们在本地开发时经常就是这么做的。

2.如果本地hosts文件不存在映射关系,则会查询本地DNS缓存,如果存在,则域名解析完成。

win10下查看本地DNS缓存

进入cmd命令窗口,输入ipconfig /displaydns命令即可:

如果要清除本地DNS缓存的话输入ipconfig /flushdns。

3.如果本地DNS缓存没有命中,则查找本地DNS服务器,如果存在,则域名到此解析完成。

4.如果本地DNS服务器已缓存了此域名映射关系,则返回此映射,完成域名解析。

5.如果以上解析都失败了,本地DNS服务器会把请求发至 根DNS服务器,根DNS服务器收到请求后会返回一个负责该顶级域名服务器的IP。本地DNS服务器收到IP后,将会请求这个IP对应的服务器,就这样逐层查找,直至找到baidu.com主机。

通过上面的步骤,我们获取到了要建立连接的IP地址,接下去就是上面第二步的内容了,这个就放到下一篇文章来介绍。

转自:http://www.360doc.com/content/18/0412/06/44856983_744903758.shtml

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值