在浏览器中输入一个地址,回车后发生了什么?

步骤:

1,输入地址
2,缓存解析
3,DNS域名解析
4,TCP链接,三次握手
5,服务器收到请求,处理后返回请求
6,浏览器渲染
7,断开TCP链接,四次挥手

一、输入网址

在浏览器中输入要访问的url地址,回车发起请求

二、缓存解析

浏览器获取了这个url,当然就去解析了,它先去缓存当中看看有没有,从 浏览器缓存-系统缓存-路由器缓存 当中查看,如果有从缓存当中显示页面,然后没有那就进行步骤三;
缓存就是把你之前访问的web资源,比如一些js,css,图片什么的保存在你本机的内存或者磁盘当中。

三、DNS域名解析

在发送http之前,需要进行DNS解析即域名解析。
DNS解析:域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。解析后可以获取域名相应的IP地址
解析过程:
通过域名查找对应的服务器IP
1,在本地hosts文件中查找
2,在本地DNS解析缓存中查找
3,在本地DNS服务器中查找
4,本地DNS服务器向根DNS服务器发送请求,根DNS服务器会返回一个域服务器(.com服务器)地址
5,本地DNS服务器向域服务器发送请求,域服务器返回一个域名解析服务器地址
6,本地DNS服务器向域名解析服务器发送请求,获得服务器ip地址
7,本地DNS服务器缓存查询结果,并告知浏览器

四、TCP连接,三次握手

在域名解析之后,浏览器向服务器发起了http请求,三次握手,浏览器与服务器建立TCP连接。TCP协议是面向连接的,所以在传输数据前必须建立连接
三次握手的过程:
(1)客户端向服务器发送连接请求报文;
(2)服务器端接受客户端发送的连接请求后后回复ACK报文,并为这次连接分配资源。
(3)客户端接收到ACK报文后也向服务器端发生ACK报文,并分配资源。
这样TCP连接就建立了,在此之后,浏览器开始向服务器发送http请求,请求数据包。请求信息包含一个头部和一个请求体。
注意:三次握手的目的是确保通讯双发的发送、接收消息的功能都正常

五、服务器收到请求,处理后返回请求

1,服务器接收到http请求的格式包,然后解析其中的参数。
2,执行请求。这个执行请求,指的是进行一些逻辑操作,查询操作,持久层操作等的。也就是我们开发通常的业务处理。
3,生成http格式的数据包,发送响应数据包。

六、浏览器渲染

客户端接收到response返回结果,开始解析html,以及内嵌资源。发现有远程资源,继续向服务器请求资源,解析完成后对数据进行渲染展示给用户。

七、断开TCP链接,四次挥手

四次挥手的目的:确认双发都收到断开连接的请求。
1,客户端发出断开连接的请求
2,服务端ack 这个断开请求,确保自己的数据传输完毕,再发送断开连接的请求
3,客户端收到断开请求进入TIME-WAIT状态,发送ack,等待2msl后没有再收到服务端的请求则完全断开连接
54,服务端收到客户端的ack后关闭连接

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值