websocket 面试题

1. 什么是WebSocket?WebSocket与http的区别?

  1. webSocket定义
    webSocket: 可以让服务器主动向客户端发送消息,适合开发聊天室,多人游戏等协作应用。

WebSocket协议是基于TCP的一种新的网络协议。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

  1. WebSocket与Socket的区别
    WebSocket拥有完整的应用层协议,包含一套标准的API

Socket是一组接口,是应用层与TCP/IP协议通信的中间软件抽象层

  1. HTTP与WebSocket区别
    http是短连接,请求之后会关闭连接。
    WebSocket长连接,只需通过一次请求初始化连接,然后所有的请求和响应都是通过这个TCP连接进行通信。

2. WebSocket特点

与http协议有良好的兼容性
建立在TCP协议之上,与http同属于应用层
数据量小、性能开销小、通信高效
可以发送文本和二进制
可以与任意服务器通信
握手阶段采用http协议,默认端口是80和443
协议标识字符ws、加密wss
服务器可以主动向客户端请求

3. WebSocket协议具有以下特征:

  1. 推送功能
    支持服务器端向客户端推送功能。 服务器可以直接发送数据,而无需等待客户端的请求。

  2. 减少通信量
    只要建立了websocket连接,连接就会保持。 在此期间,可以连续发送消息,直到请求关闭为止。 这避免了HTTP的非状态性质。

与http相比,不仅减少了每个连接的总开销,而且websocket的表头信息量也很小,并且通信量也减少了。

  1. 减少资源消耗
    那么,为什么他要解决服务器上的资源消耗问题呢?

实际上,我们使用的程序需要经过两层代理,即HTTP协议由Nginx之类的服务器解析,然后发送到相应的Handler(PHP等)进行处理。

简而言之,我们有一个非常快的接线员(Nginx),负责将问题转发给相应的客户服务(Handler)。 基本上,接线员的速度是足够的,但是每次都会被卡在客服(Handler)中,并且客服的处理速度总是太慢。 导致客服不足。Websocket解决了这样的问题。 建立后,它可以直接与操作员建立持久连接。 当有信息时,客户服务会想方法通知接线员,然后接线员以统一的方式将其转移给客户。 这样可以解决客服处理速度过慢的问题。

本作品采用《CC 协议》,转载必须注明作者和本文链接
嗨,我是波波。曾经创业,有收获也有损失。我积累了丰富教学与编程经验,期待和你互动和进步! 公众号:上海PHP自学中心 付费知识星球:破解面试:程序员的求职导师
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
司机 @ 欣昊玉
文章
273
粉丝
339
喜欢
557
收藏
1104
排名:64
访问:12.2 万
私信
所有博文
社区赞助商