tcp传输的三次握手与四次挥手及页面加载过程简介

tcp传输的三次握手与四次挥手!

为了准确无误地把数据送达目标处,TCP采用了三次握手策略。用TCP把数据包发送出去后,TCP不会对传送后的数据置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志,即SYN和ACK.

发送端首先给接收端发送一个带SYN标志的数据包。

接收端收到后,回传一个带有SYN/ACK标志的数据包以表示正确传达,并确认信息。

最后,发送端再回传一个带ACK标志的数据包,代表“握手”结束。若在握手过程中的某个阶段莫名中断,TCP会再次以相同的顺序发送相同的数据包。

断开一个TCP连接则需要“四次握手”。

●第一次握手:主动关闭方发送一个FIN,用来关闭主动关闭方到被动关闭方的数

据传送,也就是主动关闭方告诉被动关闭方,主动关闭方已经不会再给被动关闭方发送数据了(当然,在FIN包之前发送出去的数据,如果没有收到对应的ACK确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可以接收数据。

●第二次握手:被动关闭方收到FIN包后,给对方发送一个ACK,确认序号为收

到序号+1 (与SYN相同,一个FIN占用一个序号)。

●第三次握手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,被动关闭方的数据也发送完了,不会再给主动关闭方发送数据了。

●第四次握手:主动关闭方收到FIN后,给被动关闭方发送一个ACK,确认序号

为收到序号+1,至此,完成四次握手。

一个页面从输入URL到页面加载显示完成,这个过程中都发生了什么?

整个过程可分为4个步骤。

(1)当发送一个URL请求时,不管这个URL是Web页面的URL还是Web页面上每个资源的URL,浏览器都会开启一个线程来处理这个请求,同时在远程DNS服务器上启动一个DNS查询。这能使浏览器获得请求对应的IP 地址。

(2)浏览器与远程Web服务器通过TCP三次握手协商来建立一个TCP/IP连接。该握手包括一个同步报文、一个同步-应答报文和一个应答报文,这3个报文在浏览器和服务器之间传递。该握手首先由客户端尝试建立起通信,然后服务器应答并接受客户端的请求,最后由客户端发出已经接受该请求的报文。

(3)一旦TCP/IP连接建立,浏览器会通过该连接向远程服务器发送HTTP的GET请求。远程服务器找到资源并使用HTTP响应返回该资源,值为200的HTTP响应状态码表示一个正确的响应。

(4)此时Web服务器提供资源服务,客户端开始下载资源。请求返回后,便进入了浏览器端模块。浏览器会解析HTML生成DOMTree,其次会根据CSS生成CSS规则树,而JavaSeript又可以根据DOMAPI操作DOM。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力做一只合格的前端攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值