🔄 通信方式对比
| 通信方式 | 原理 | 实时性 | 服务器压力 | 实现复杂度 |
|---|---|---|---|---|
| 轮询 (Polling) | 客户端定时发请求 | 一般 | 高 | 简单 |
| 长轮询 (Long Polling) | 客户端请求后,服务器"挂起"直到有新数据才返回 | 较好 | 中 | 较复杂 |
| WebSocket | 建立持久双向连接 | 最好 | 低 | 较复杂 |
| SSE (Server-Sent Events) | 单向通道,服务器持续推送消息 | 很好 | 低 | 中 |
轮询(Polling):
客服端(如浏览器)定时向服务器发送请求,询问"有没有新数据",如果有,就返回结果;如果没有,就返回空或状态码。
轮询,基于 HTTP 协议的请求-响应模型
🧠 八股文中 常见的出题角度
| 出题类型 | 示例问题 | 对应知识点 |
|---|---|---|
| 基础定义 | 轮询是什么? | HTTP 的请求-响应机制 |
| 工作原理 | 轮询是怎么实现的? | 浏览器请求周期 + 定时机制 |
| 对比题 | 轮询 vs 长轮询 vs WebSocket? | 实时通信方式 |
| 优化题 | 轮询为什么浪费资源?怎么优化? | 请求频率控制、长轮询、SSE |
| 场景题 | 聊天室没有 WebSocket 怎么实现? | 轮询或长轮询的应用场景 |