🚀 前言:你将学到什么?
本文将帮助你理解:
- WebSocket 到底是一种什么技术
- 为什么聊天消息、系统通知可以“瞬间送达”
- WebSocket 与传统 HTTP 通信方式本质上的区别
即使你是完全的新手,也能轻松跟上。
✅ 什么是 WebSocket?
WebSocket 是一种让浏览器与服务器保持长期连接、并可双向实时通信的协议。
在普通网页中,浏览器通常是“有事才问服务器”。
而 WebSocket 更像一通持续连线的电话,双方都可以随时讲话。
这也是它能实现“实时”的关键原因。
🎯 WebSocket 存在的意义
WebSocket 的设计目标非常明确:
- 信息需要立刻送达
- 由服务器主动推送,而非客户端反复查询
典型例子包括:
- 💬 聊天消息发送后立即显示
- 📈 股票价格、游戏分数实时刷新
- 🔔 新通知无需刷新页面即可弹出
所有这些,都依赖于实时通信机制。
⏳ 如果没有 WebSocket,会怎样?
在 WebSocket 出现之前(现在仍有部分场景使用),常见做法是:
- 手动或自动刷新页面
- 每隔几秒向服务器询问一次:“有新消息吗?”
这就像反复按别人家的门铃:
“有消息了吗?”
“现在呢?”
“刚刚呢?”
结果显而易见:
- 网络请求大量增加
- 信息传递存在延迟
- 服务器负担更重
🧩 WebSocket 能用在哪些场景?
WebSocket 特别适合以下应用:
- 💬 Web 聊天系统
- 🔔 实时通知机制
- 🎮 在线游戏(位置、分数同步)
- 📊 实时数据监控(股价、访问量)
- 🧑🤝🧑 协同编辑工具
只要你看到“页面不刷新,内容却在动”,
背后往往就有 WebSocket 的身影。
💡 小知识:理解 WebSocket 的细节
1️⃣ 为什么 WebSocket 要“先走 HTTP”?
WebSocket 并不是直接开始的,它会先使用 стандарт HTTP 请求。
这个过程称为 Handshake(握手):
像是先礼貌打招呼,双方确认后,再切换到专用通信通道。
这样可以保证浏览器与服务器都支持 WebSocket。
2️⃣ 手机聊天“已读秒出现”的秘密
聊天消息刚发出,几秒内就显示“已读”,
正是因为客户端与服务器保持着持续连接。
如果每次都重新请求,体验将极差。
3️⃣ WebSocket 并非万能
尽管强大,但 WebSocket 并不是:
- 所有网站的必选方案
- HTTP 的完全替代品
简单总结:
- 📰 普通内容型网站 → HTTP 足够
- ⚡ 强调即时互动 → WebSocket 更合适
是否使用,取决于实际需求。
📚 参考资料
- RFC 6455(WebSocket 官方规范)
https://datatracker.ietf.org/doc/html/rfc6455 - MDN Web Docs|WebSocket
https://developer.mozilla.org/zh-CN/docs/Web/API/WebSocket - WHATWG WebSockets Standard
https://websockets.spec.whatwg.org/ - Wikipedia|WebSocket
https://zh.wikipedia.org/wiki/WebSocket
🛠️ 延伸阅读建议
- HTTP 基础原理(理解差异必读)

Coming Soon
- HTTP/2 与 HTTP/3
- SSE(Server-Sent Events)
- 实时 Web 应用整体架构
🎯 总结
- WebSocket 是一种保持持续连接的通信方式
- 特别适合聊天、通知等实时场景
- 减少无意义请求,实现真正的“即时”
- 是否使用取决于业务需求
- 理解后,你会更清楚常用 App 的运作机制
