(十九)在浏览器中输入网址之后执行会发生什么?

第一步:通过访问的域名找出其IP地址.(即域名解析)

DNS查找过程如下:

  • 浏览器缓存 – 浏览器会缓存DNS记录一段时间。 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等)。
  • 操作系统缓存 – 如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(windows里是gethostbyname)。这样便可获得系统缓存中的记录。
  • 本地hosts文件 – 接着,前面的查询请求发向路由器,它一般会有自己的DNS缓存。
  • ISP DNS 缓存(本地域名服务器) – 接下来要check的就是ISP缓存DNS的服务器。在这一般都能找到相应的缓存记录。
  • 若缓存没有,则递归搜索(根域名服务器) – 你的ISP的DNS服务器从跟域名服务器开始进行递归搜索,从.com顶级域名服务器到Facebook的域名服务器。一般DNS服务器的缓存中会有.com域名服务器中的域名,所以到顶级服务器的匹配过程不是那么必要了。

 

 二、建立TCP连接(三次握手)

三、客户端发送http请求报文

(1)应用层:客户端发送HTTP请求报文 (HTTP协议)

(2)传输层:切分长数据,并确保可靠性。(tcp协议)

(3)网络层:进行路由 (ip协议、路由选择使用OSPF协议)

(4)数据链路层:传输数据(将ip地址转换为MAC地址,用ARP协议)

(5)物理层:物理传输bit

四、服务器端经过物理层→数据链路层→网络层→传输层→应用层,解析请求报文,发送HTTP响应报文

五、关闭TCP连接

六、浏览器解析HTML、布局显然,展示给用户

还可以看:https://www.jianshu.com/p/c1dfc6caa520

https://www.zhihu.com/question/34873227

发布了548 篇原创文章 · 获赞 88 · 访问量 26万+

猜你喜欢

转载自blog.csdn.net/jiangshangchunjiezi/article/details/96283715