网络面试题
2026/1/15大约 3 分钟
网络面试题
基础概念
1. OSI 七层模型和 TCP/IP 四层模型?
OSI 七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
TCP/IP 四层:网络接口层、网络层、传输层、应用层
2. TCP 和 UDP 的区别?
| 特性 | TCP | UDP |
|---|---|---|
| 连接 | 面向连接 | 无连接 |
| 可靠性 | 可靠 | 不可靠 |
| 顺序 | 保证 | 不保证 |
| 速度 | 慢 | 快 |
| 应用 | HTTP、FTP | DNS、视频 |
3. 什么是 Socket?
Socket 是应用层与传输层之间的抽象层,提供网络通信的接口。
TCP 相关
4. TCP 三次握手的过程?
- 客户端发送 SYN
- 服务端发送 SYN+ACK
- 客户端发送 ACK
5. 为什么是三次握手?
- 确认双方收发能力
- 防止历史连接
- 同步序列号
6. TCP 四次挥手的过程?
- 客户端发送 FIN
- 服务端发送 ACK
- 服务端发送 FIN
- 客户端发送 ACK
7. 为什么是四次挥手?
TCP 是全双工,需要双方各自关闭发送通道。
8. TIME_WAIT 的作用?
- 确保最后的 ACK 到达
- 让旧连接的报文消失
9. TCP 如何保证可靠传输?
- 序列号和确认号
- 超时重传
- 流量控制(滑动窗口)
- 拥塞控制
10. TCP 拥塞控制算法?
- 慢启动
- 拥塞避免
- 快速重传
- 快速恢复
11. 什么是 TCP 粘包?如何解决?
多个小包合并或大包拆分。
解决方案:
- 固定长度
- 分隔符
- 长度字段
HTTP 相关
12. HTTP 和 HTTPS 的区别?
| 特性 | HTTP | HTTPS |
|---|---|---|
| 端口 | 80 | 443 |
| 安全 | 明文 | 加密 |
| 证书 | 不需要 | 需要 |
| 性能 | 快 | 稍慢 |
13. HTTPS 的工作原理?
- TCP 三次握手
- TLS 握手(交换密钥)
- 对称加密传输数据
14. HTTP/1.1 和 HTTP/2 的区别?
| 特性 | HTTP/1.1 | HTTP/2 |
|---|---|---|
| 传输格式 | 文本 | 二进制 |
| 多路复用 | 不支持 | 支持 |
| 头部压缩 | 不支持 | HPACK |
| 服务器推送 | 不支持 | 支持 |
15. GET 和 POST 的区别?
| 特性 | GET | POST |
|---|---|---|
| 参数位置 | URL | 请求体 |
| 长度限制 | 有 | 无 |
| 缓存 | 可缓存 | 不缓存 |
| 幂等性 | 幂等 | 非幂等 |
16. HTTP 状态码有哪些?
- 2xx:成功(200、201、204)
- 3xx:重定向(301、302、304)
- 4xx:客户端错误(400、401、403、404)
- 5xx:服务端错误(500、502、503)
17. 301 和 302 的区别?
- 301:永久重定向,搜索引擎更新链接
- 302:临时重定向,搜索引擎保留原链接
18. HTTP 缓存机制?
强缓存:Cache-Control、Expires
协商缓存:ETag/If-None-Match、Last-Modified/If-Modified-Since
19. Cookie 和 Session 的区别?
| 特性 | Cookie | Session |
|---|---|---|
| 存储位置 | 客户端 | 服务端 |
| 安全性 | 较低 | 较高 |
| 大小限制 | 4KB | 无限制 |
20. 什么是跨域?如何解决?
协议、域名、端口不同就是跨域。
解决方案:
- CORS
- JSONP
- 代理服务器
其他
21. DNS 解析过程?
- 浏览器缓存
- 系统缓存
- 本地 DNS 服务器
- 根 DNS → 顶级域 DNS → 权威 DNS
22. 输入 URL 到页面显示的过程?
- DNS 解析
- TCP 三次握手
- 发送 HTTP 请求
- 服务器处理请求
- 返回 HTTP 响应
- 浏览器解析渲染
- TCP 四次挥手
23. WebSocket 和 HTTP 的区别?
| 特性 | HTTP | WebSocket |
|---|---|---|
| 连接 | 短连接 | 长连接 |
| 通信 | 单向 | 双向 |
| 头部 | 较大 | 较小 |
| 实时性 | 轮询 | 实时推送 |
24. 什么是 CDN?
内容分发网络,将内容缓存到离用户最近的节点。
优点:
- 加速访问
- 减轻源站压力
- 提高可用性
25. 什么是正向代理和反向代理?
| 特性 | 正向代理 | 反向代理 |
|---|---|---|
| 代理对象 | 客户端 | 服务端 |
| 用途 | 翻墙、缓存 | 负载均衡、安全 |
| 对谁透明 | 服务端 | 客户端 |