news 2026/5/1 8:07:06

网页中的三次握手。四次挥手

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
网页中的三次握手。四次挥手

目的:在客户端和服务器之间建立一个可靠的TCP连接,确保双方都具有发送和接收数据的能力。

这个过程就像一个双方确认通话的过程:

第一次握手 - SYN

客户端 向 服务器 发送一个TCP数据包。

第二次握手 - SYN-ACK

服务器 收到客户端的 SYN 包后,如果同意连接,会回复一个数据包。

第三次握手 - ACK

客户端 收到服务器的 SYN-ACK 包后,会再向服务器发送一个确认包。

至此,连接建立成功,双方可以开始传输数据(比如HTTP请求和响应)。

为什么是三次,而不是两次?
主要是为了防止已失效的连接请求报文突然又传到了服务器,导致错误。
假设只有两次握手:如果客户端一个旧的连接请求在网络中滞留了很久,后来才到达服务器,服务器会误以为这是一个新的连接请求并回复确认。如果是两次握手,此时连接就建立了,但客户端并没有意图建立这个连接,也不会发送数据,从而导致服务器空等,浪费资源。三次握手的设计使得客户端不会对服务器的确认再进行确认,这个无效的连接请求就不会被建立。

----------------------------------------------------------分割线---------------------------------------------------------

TCP 四次挥手 - 断开连接
目的:安全、可靠地终止一个TCP连接。由于TCP连接是全双工的(数据可以双向传输),每个方向都必须单独进行关闭。

这个过程就像两个人通完话后礼貌地道别:

第一次挥手 - FIN

主动关闭方(假设是客户端) 发送一个TCP数据包。

第二次挥手 - ACK

被动关闭方(服务器) 收到 FIN 包后,会立即回复一个确认包。

第三次挥手 - FIN

当被动关闭方(服务器) 也完成了数据的发送,准备关闭连接时,它会发送一个 FIN 包。

第四次挥手 - ACK

主动关闭方(客户端) 收到服务器的 FIN 包后,会发送一个确认包。

这个数据包中标志位 ACK=1。

为什么是四次挥手?
因为TCP连接是全双工的,一方关闭发送通道后,另一方可能还有数据要发送。因此,关闭过程需要分两步:

第一次和第二次挥手:关闭从A到B的连接。

第三次和第四次挥手:关闭从B到A的连接。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 11:14:46

SmartDNS双栈优化终极指南:彻底解决IPv4/IPv6网络速度问题

SmartDNS双栈优化终极指南:彻底解决IPv4/IPv6网络速度问题 【免费下载链接】smartdns A local DNS server to obtain the fastest website IP for the best Internet experience, support DoT, DoH. 一个本地DNS服务器,获取最快的网站IP,获得…

作者头像 李华
网站建设 2026/4/24 20:25:22

3步掌握EMQX+Flink:构建工业物联网实时数据处理系统

3步掌握EMQXFlink:构建工业物联网实时数据处理系统 【免费下载链接】emqx The most scalable open-source MQTT broker for IoT, IIoT, and connected vehicles 项目地址: https://gitcode.com/gh_mirrors/em/emqx 问题场景:工业数据洪流的实时处…

作者头像 李华
网站建设 2026/4/28 22:42:21

使用Markdown撰写技术文档:嵌入PyTorch执行结果截图

使用Markdown撰写技术文档:嵌入PyTorch执行结果截图 在深度学习项目中,一个常见的尴尬场景是:“代码在我机器上跑得好好的,怎么换个人就复现不了?”这种“只闻其声、不见其行”的沟通方式,极大削弱了技术文…

作者头像 李华
网站建设 2026/4/23 12:39:53

Kubernetes测试环境的特殊挑战与应对框架

动态拓扑引发的测试困境 环境漂移问题:Pod动态调度导致IP变化(如kube-proxy负载均衡场景),需通过Service Mesh技术建立稳定测试端点 资源竞争监控:采用PrometheusGranfana构建多维监控看板,实时捕获CPU抢占…

作者头像 李华
网站建设 2026/5/1 6:26:24

Supabase Storage 终极指南:快速部署开源对象存储方案

Supabase Storage 终极指南:快速部署开源对象存储方案 【免费下载链接】storage S3 compatible object storage service that stores metadata in Postgres 项目地址: https://gitcode.com/gh_mirrors/st/storage Supabase Storage 是一个基于 PostgreSQL 和…

作者头像 李华