一、先说结论
这一篇主要解决四类高频问题:
- Socket 是什么?它和 HTTP、TCP 是什么关系?
- 常见端口有哪些?80、443、22、3306 分别是什么?
- TCP 首部有哪些关键字段?
- SYN、ACK、FIN、RST 分别有什么作用?
如果先把主线压缩成几句话,可以这样记:
- Socket 是程序使用网络能力的接口抽象
- TCP/UDP 是传输层协议,Socket 是应用程序和协议栈之间的编程接口
- HTTP 通常跑在 TCP 之上,程序通过 socket 收发 HTTP 数据
- 端口号用于把数据交给正确的进程
- TCP 首部里最核心的字段包括源端口、目标端口、序列号、确认号、窗口大小、校验和、标志位等
- SYN 用于建连,ACK 用于确认,FIN 用于优雅关闭,RST 用于强制复位连接
2026/3/24...大约 7 分钟
