news 2026/5/30 16:50:30

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

作者头像

张小明

前端开发工程师

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/5/30 11:53:05

Hunyuan3D-2.1:如何实现高质量3D资产生成的技术突破

Hunyuan3D-2.1:如何实现高质量3D资产生成的技术突破 【免费下载链接】Hunyuan3D-2.1 项目地址: https://gitcode.com/gh_mirrors/hu/Hunyuan3D-2.1 Hunyuan3D-2.1作为腾讯推出的开源3D资产生成系统,通过完全开放的源代码和基于物理的渲染技术&am…

作者头像 李华
网站建设 2026/5/28 13:25:24

GitOps中的测试策略:确保代码变更的质量保障

GitOps与测试策略的融合背景 在当今快速迭代的软件交付环境中,GitOps作为一种新兴的DevOps实践,正迅速成为现代云原生应用的主流模式。它以Git仓库为核心,通过版本控制管理基础设施和应用代码,实现声明式配置和自动化部署。对于软…

作者头像 李华
网站建设 2026/5/29 2:11:19

Puerts终极性能优化指南:5大技巧让TypeScript游戏效率飙升

Puerts终极性能优化指南:5大技巧让TypeScript游戏效率飙升 【免费下载链接】puerts PUER(普洱) Typescript. Lets write your game in UE or Unity with TypeScript. 项目地址: https://gitcode.com/GitHub_Trending/pu/puerts 在当今游戏开发领域&#xff0…

作者头像 李华
网站建设 2026/5/28 23:57:16

一场地震,就能让全球芯片产业甚至全球经济停摆?

很少有人意识到,支撑现代科技文明的芯片产业,正建在一些随时可能撕裂的断层带上。日本每年要经历上千次地震,大大小小的震动已经成为日常。但这个国家却生产着全球17%的芯片,掌握着许多芯片制造的关键材料和精密零部件。更让人捏把汗的是,硅谷所在的加州虽然早就不怎…

作者头像 李华
网站建设 2026/5/30 16:28:46

AMD RDNA 2显卡macOS兼容性技术诊断与解决方案

AMD RDNA 2显卡macOS兼容性技术诊断与解决方案 【免费下载链接】NootRX Lilu plug-in for unsupported RDNA 2 dGPUs. No commercial use. 项目地址: https://gitcode.com/gh_mirrors/no/NootRX 在macOS生态系统中,AMD RDNA 2架构独立显卡面临严峻的技术兼容…

作者头像 李华
网站建设 2026/5/28 15:24:16

如何快速上手Crowbar:开源游戏模组的终极制作指南

如何快速上手Crowbar:开源游戏模组的终极制作指南 【免费下载链接】Crowbar Crowbar - GoldSource and Source Engine Modding Tool 项目地址: https://gitcode.com/gh_mirrors/crow/Crowbar 想要为经典游戏《半条命》或《反恐精英》系列创建独特的游戏模组吗…

作者头像 李华