http的三次握手和四次挥手

http的三次握手

C:客户端 S:服务器端

第一次握手

C:在吗?我要和你建立连接。就是客户端向服务器发送一个SYN包。

第二次握手:

S:在的呢!来吧,确定要连接吗?就是服务器收到SYN包后,会回复一个SYN+ACK包给客户端。

第三次握手:

C:非常确定!咱们建立连接吧。就是客户端收到服务器的SYN+ACK包后,会再回复一个ACK包给服务器

这样,三次握手就完成了,客户端和服务器之间就建立了一个可靠的连接。在网络连接中都是以一来一回的模式。

http的四次挥手

C:客户端 S:服务器端

第一次挥手:

C:我的数据已经传完了,我想和你断开连接。就是客户端向服务器发送一个FIN包。

第二次挥手:

S:好的,我知道了,但是我这边还有数据给你,你先不要和我断开。就是服务器收到FIN包后,会回复一个ACK包给客户端。

第三次挥手:

S:我的数据已经传送完了,你可以和我断开连接了!就是服务器在发送完所有数据后,会向客户端发送一个FIN包

第四次挥手:

C:我已经收到你的让我断开连接的信息了,可以断开了。就是客户端收到服务器的FIN包后,会回复一个ACK包给服务器

http的三次握手和四次挥手的区别:

次数不同:三次握手用于建立连接,而四次挥手用于终止连接。

方向性:三次握手是建立连接的过程,涉及客户端和服务器之间的双向通信;四次挥手是终止连接的过程,由于TCP是全双工的,每个方向的关闭都需要单独进行确认。

目的:三次握手确保了连接的建立和双方序列号的同步,而四次挥手确保了连接的优雅关闭,避免了数据包的丢失或混乱。

相关推荐
叼烟扛炮1 小时前
Linux 学习笔记(五十九):epoll 的生死抉择——LT 与 ET 模式
linux·运维·服务器·网络·笔记·学习·php
xixingzhe29 小时前
AI 对话打字机效果:SSE 和 HTTP 的区别与适用场景
网络·网络协议·http
xiaoye-duck10 小时前
《C++ 项目:手写大模型接入 SDK》Gemini接口设计(上):初始化、全量响应实现和测试
开发语言·网络·c++·语言模型
布裘10 小时前
【银河麒麟】重启后时区丢失?排查发现 localtime 被业务程序替换成硬链接
linux·运维·网络
zhikouai11 小时前
把外部助手接进聊天软件的架构分层与参数配置
服务器·网络·php
huainingning11 小时前
锐捷10.X路由器版本升级不生效问题排查
运维·网络·智能路由器
QZ1665609515915 小时前
政务泛监测体系能力排行:AI 重塑监测边界,治理的颗粒度革命
网络·人工智能·安全·网络安全·政务
叼烟扛炮15 小时前
Linux 学习笔记(五十八):IO 多路复用封神——epoll 底层原理揭秘
linux·运维·服务器·网络·笔记·学习·php
叼烟扛炮15 小时前
Linux 学习笔记(五十一):数据链路层与 ARP 协议——局域网寻址与黑客骗局
linux·网络·网络协议·php·tcpdump
星恒随风16 小时前
Linux网络编程:彻底理解IO多路复用select!从fd_set位图、读写就绪到手写TCP多客户端字典服务器
linux·服务器·网络