在浏览器中输入网址,到页面显示出来,中间发生了什么?,下面我们就来说一说关于在浏览器输入网址后都经历了什么?我们一起去了解并探讨一下这个问题吧!
在浏览器输入网址后都经历了什么
一、问题在浏览器中输入网址,到页面显示出来,中间发生了什么?
二、解答1、查询DNS,获取域名对应的IP。
(1)检查本地hosts文件是否有这个网址的映射,如果有,就调用这个IP地址映射,解析完成。
(2)如果没有,则查找本地DNS解析器缓存是否有这个网址的映射,如果有,返回映射,解析完成。
(3)如果没有,则查找填写或分配的首选DNS服务器,称为本地DNS服务器。服务器接收到查询时:
- 如果要查询的域名包含在本地配置区域资源中,返回解析结果,查询结束,此解析具有权威性。
- 如果要查询的域名不由本地DNS服务器区域解析,但服务器缓存了此网址的映射关系,返回解析结果,查询结束,此解析不具有权威性。
(4)如果本地DNS服务器也失效:
- 如果未采用转发模式(迭代),本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后,会判断这个域名(如.com)是谁来授权管理,并返回一个负责该顶级域名服务器的IP,本地DNS服务器收到顶级域名服务器IP信息后,继续向该顶级域名服务器IP发送请求,该服务器如果无法解析,则会找到负责这个域名的下一级DNS服务器(如http://baidu.com)的IP给本地DNS服务器,循环往复直至查询到映射,将解析结果返回本地DNS服务器,再由本地DNS服务器返回解析结果,查询完成。如果采用转发模式(递归),则此DNS服务器就会把请求转发至上一级DNS服务器,如果上一级DNS服务器不能解析,则继续向上请求。最终将解析结果依次返回本地DNS服务器,本地DNS服务器再返回给客户机,查询完成。
2、客户机发送HTTP请求报文:
(1)应用层:客户端发送HTTP请求报文
(2)传输层:切分长数据,并确保可靠性。
(3)网络层:进行路由
(4)数据链路层:传输数据
(5)物理层:物理传输bit
3、服务器端经过物理层→数据链路层→网络层→传输层→应用层,解析请求报文,发送HTTP响应报文。
4、客户端解析HTTP响应报文
5、浏览器开始显示HTML
,