admin管理员组文章数量:1619183
一、整体过程
1.将域名解析成ip的过程;
2.通过ip找到网站服务器,请求打开具体的网页,服务器响应请求,客户端浏览器收到响应报文后,渲染html文档,最终看到网页页面。
二、原理
1.dns解析的流程?
(1)输入网址回车的时候,浏览器首先查询浏览器的缓存,如果没找到就去查询本地的dns缓存和hosts文件,如果有www.baidu这个域名对应的ip,则直接通过这个ip访问网站服务器;
(2)如果本地的dns缓存和hosts文件没找到,这时候就会把请求发送给根域名服务器;
(3)根域名服务器,没有记录具体的域名和ip地址的对应关系,而是告诉本地DNS服务器,你可以到域服务器上去继续查询,并给出域服务器 的地址。
(4)向域服务器发出请求,域服务器收到请求之后,也不会直接返回域名和IP地址的对应关系,而是告诉本地DNS服务器,域名(www.baidu)的解析服务器的地址。
(5) 向域名的解析服务器发出请求,这时就能收到一个域名和IP地址对应关系,本地DNS服务器不仅要把IP地址返回给用户电脑,还要把这个对应关系保存在缓存中,以备下次别的用户查询时,可以直接返回结果,加快网络访问。
三、tcp的三次握手和四次挥手?
因为http是工作在第七层应用层,tcp是工作在第四层传输层,所以发生http请求之前,还会进行tcp的三次握手。
1.tcp的三次握手是?
(1)客户端首先向服务器发送一个带有SYN标识和一个seq的随机数;
(2)服务端收到后,需要给客户端回应一个ack,ack的值就是刚才的seq随机数的值+1,在回应包里,还包含一个SYN的标识和一个seq随机数。
(3)客户端收到服务端发过来的回应包之后,再给服务端发送一个ack,ack的值就是刚才服务端发过来的seq的值+1。三次握手完成。下面就可以开始发送http请求报文了,进行传输数据。
2.tcp的四次挥手?
当浏览器加载一个完整的页面时,还需要与服务器断开连接,这个过程就是tcp的四次挥手。
(1)首先客户端会发送一个带有FIN标识和一个seq随机数;
(2)服务端收到之后,会回应一个ack,ack的值等于刚才的seq的值+1;
(3)发送之后,服务器会再发一个FIN包,这个包里面包含一个seq随机数和第二次返回到客户端的ack值。
(4)客户端收到之后,回应一个ack,ack的值等于刚才的seq值+1,以上完成之后,服务器和客户端的4次挥手就完成了!
版权声明:本文标题:从浏览器打开http:www.baidu.com地址回车发送请求到看到页面的过程? 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1728787814a1173471.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论