一、TCP 三次握手与四次挥手
- 握手:SYN → SYN+ACK → ACK。双方各确认一次”我能发、你能收”,防止历史连接污染;
- 挥手:FIN → ACK → FIN → ACK。因为 TCP 全双工,关闭要双向各发一次 FIN;
- TIME_WAIT:主动关闭方等 2MSL,确保对端收到最后的 ACK、且旧报文在网络中消失,避免新连接串包。
二、HTTP 与 HTTPS
| 维度 | HTTP | HTTPS |
|---|---|---|
| 加密 | 明文 | TLS 加密 |
| 端口 | 80 | 443 |
| 握手 | 无 | 非对称交换密钥 + 对称加密传输 |
TLS 握手:客户端 Hello(带支持的套件)→ 服务端发证书+公钥 → 客户端验证证书 → 双方协商出对称密钥用于后续加密。这样既安全又高效(对称加密快)。
三、常见状态码
- 2xx 成功(200);3xx 重定向(301 永久、302 临时);
- 4xx 客户端错(400 参数、401 未认证、403 禁止、404 不存在、429 限流);
- 5xx 服务端错(500 异常、502 网关坏、503 不可用、504 网关超时)。
四、HTTP/1.1、/2、/3 要点
- 1.1:长连接、管线化但队头阻塞;
- 2:多路复用(一个连接并发多请求)、头部压缩、服务端推送,解决应用层队头阻塞;
- 3:基于 QUIC(UDP),解决 TCP 层队头阻塞与握手延迟。
五、DNS 解析过程
浏览器缓存 → 本地 hosts → 本地 DNS → 根 → 顶级域(.com) → 权威服务器,递归/迭代结合拿到 IP。CDN 常靠 CNAME 把域名指向边缘节点。
网络面试题重”流程 + 为什么这样设计”:TIME_WAIT 为什么必须等、HTTPS 为什么混合加密、队头阻塞在哪一层——这些才是区分度所在。