网络协议深入
前端日常和网络打交道:发请求、跨域、加载资源、WebSocket 推送。但能讲清楚 TCP 三次握手、TLS 1.3 握手、HTTP/2 多路复用底层是怎么工作的,能在 wireshark 抓包定位问题的,是少数。这一模块就是把这些"知道但讲不清"的协议彻底拆开。
这一章覆盖什么
- 报错
Connection reset by peer到底是哪一层在重置 - 为什么 HTTP/2 不能解决队头阻塞的最后一公里,HTTP/3 怎么解决的
- TLS 握手里的 ServerHello 包含什么,证书链怎么验证
- WebSocket 怎么从 HTTP 升级,长连接断了怎么重连
- CDN 调度的本质:DNS、Anycast、HTTP 302 三种路径怎么选
文档清单
| 文档 | 解决的问题 |
|---|---|
| TCP-IP 协议栈与抓包分析 | 三次握手、四次挥手、TIME_WAIT 优化、丢包重传、拥塞控制 |
| DNS 解析全链路 | 递归 vs 迭代、CNAME 链、DNS-over-HTTPS、智能 DNS |
| HTTP 协议演进 | keep-alive、多路复用、QUIC、各版本性能对比 |
| TLS 握手与证书体系 | TLS 1.2 vs 1.3、证书链、SAN、OCSP、HSTS preload |
| WebSocket 与长连接 | 升级机制、心跳、断线重连、SSE 对比 |
| CDN 工作原理与调度策略 | 边缘节点、调度算法、回源、刷新、预热 |
学习顺序建议
- 先读 TCP-IP,所有上层协议都跑在它之上
- 然后 DNS(任何请求第一步)
- HTTP 演进 + TLS 是 web 双柱
- WebSocket / CDN 是应用层延伸
先决条件
读过模块 01,会用 curl、tcpdump、dig。