websocket面试题及答案
时间: 2023-09-21 12:05:26 浏览: 80
以下是一些可能出现的 WebSocket 面试题及其答案:
1. 什么是 WebSocket?
答:WebSocket 是一种协议,它允许客户端和服务器之间建立一个持久化的双向连接,可以在这个连接上进行实时通信。
2. 与传统的 HTTP 请求相比,WebSocket 有什么不同?
答:传统的 HTTP 请求是一次性的,每次请求都需要建立一个新的连接,处理完请求后就断开连接。而 WebSocket 可以在一次连接中进行多次请求和响应,不需要每次都重新连接。
3. WebSocket 是如何建立连接的?
答:WebSocket 的连接建立需要经过三个阶段:握手、数据传输和关闭。握手阶段是通过 HTTP 请求进行的,客户端向服务器发送一个 Upgrade 请求,服务器返回 101 状态码表示同意建立 WebSocket 连接。
4. WebSocket 如何保持连接?
答:WebSocket 使用一种称为“ping-pong”的机制来保持连接。客户端和服务器会定期发送“ping”或“pong”消息来检测连接是否存活。如果一方没有及时响应,则认为连接已经断开,需要重新建立连接。
5. WebSocket 有哪些应用场景?
答:WebSocket 适用于需要实时通信的场景,如在线聊天、多人游戏、实时监控等。它可以实现实时通信、双向数据传输、快速响应等功能。
6. WebSocket 与长轮询(Long Polling)的区别是什么?
答:长轮询是一种通过发送一次请求,等待服务器响应时长较长的方式来模拟实时通信的技术。而 WebSocket 是一种真正的实时通信技术,它可以在客户端和服务器之间建立一个持久化的连接,实现实时通信。
以上是一些常见的 WebSocket 面试题及其答案,希望可以帮助你更好地了解 WebSocket 技术。