0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

WebSocket有什么优点

Wildesbeast 来源:今日头条 作者:深视野 2020-02-15 15:53 次阅读

WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。HTML5开始提供WebSocket协议的支持。

WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

WebSocket连接过程

客户端通过HTTP协议向服务端发送握手,服务端向客户端返回ACK,此时握手成功,建立连接并维持该连接;

后面服务端和客户端就可以基于建立的连接进行双向通信,直到连接关闭。

2. WebSocket与HTTP对比

HTTP WebSocket
通信方式 单工 全双工
端口 80/443 80/443
协议 HTTP/HTTPS WS/WSS
跨域问题
网络开销 - 较小

优点

较少的控制开销。在连接创建后,服务器和客户端之间交换数据时,用于协议控制的数据包头部相对较小。在不包含扩展的情况下,对于服务器到客户端的内容,此头部大小只有2至10字节(和数据包长度有关);对于客户端到服务器的内容,此头部还需要加上额外的4字节的掩码。相对于HTTP请求每次都要携带完整的头部,此项开销显著减少了。

更强的实时性。由于协议是全双工的,所以服务器可以随时主动给客户端下发数据。相对于HTTP请求需要等待客户端发起请求服务端才能响应,延迟明显更少;即使是和Comet等类似的长轮询比较,其也能在短时间内更多次地传递数据。

保持连接状态。与HTTP不同的是,Websocket需要先创建连接,这就使得其成为一种有状态的协议,之后通信时可以省略部分状态信息。而HTTP请求可能需要在每个请求都携带状态信息(如身份认证等)。

更好的二进制支持。Websocket定义了二进制帧,相对HTTP,可以更轻松地处理二进制内容。

可以支持扩展。Websocket定义了扩展,用户可以扩展协议、实现部分自定义的子协议。如部分浏览器支持压缩等。

更好的压缩效果。相对于HTTP压缩,Websocket在适当的扩展支持下,可以沿用之前内容的上下文,在传递类似的数据时,可以显著地提高压缩率。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    8921

    浏览量

    85029
  • HTTP
    +关注

    关注

    0

    文章

    499

    浏览量

    30961
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1342

    浏览量

    78902
收藏 人收藏

    评论

    相关推荐

    阻容耦合方式的优点哪些

    阻容耦合方式是一种广泛应用于电子电路中的耦合方式,它具有许多优点,这些优点使得阻容耦合方式在许多应用场景中得到广泛应用。以下是对阻容耦合方式优点的分析: 阻容耦合方式的基本原理 阻容耦合方式是一种
    的头像 发表于 08-09 15:32 489次阅读

    websocket.c RTOS演示中缺少对wifi_connect()的调用怎么办?

    在 RTOS SDK 1.3 中,一个名为 /examples/websocket_demo/websocket/websocket.c 的示例。在函数中有一个名为
    发表于 07-18 06:37

    请问websocket库怎么读取服务器发来的数据?

    官方websocket库怎么读取服务器发来的数据?
    发表于 06-25 06:40

    鸿蒙开发网络管理:ohos.net.webSocket WebSocket连接

    使用WebSocket建立服务器与客户端的双向连接,需要先通过[createWebSocket]方法创建[WebSocket]对象,然后通过[connect]方法连接到服务器。当连接成功后,客户端
    的头像 发表于 06-19 17:12 394次阅读
    鸿蒙开发网络管理:ohos.net.<b class='flag-5'>webSocket</b> <b class='flag-5'>WebSocket</b>连接

    ESP32进行websocket通信接收数据出错的原因?

    I (104793) WEBSOCKET: WEBSOCKET_EVENT_CONNECTED I (104953) WEBSOCKET: WEBSOCKET_EVENT_DATA I
    发表于 06-14 07:42

    芯片固定uv胶什么优点

    芯片固定uv胶什么优点?芯片固定UV胶具有多种优点,这些优点使得它在半导体封装和芯片固定等应用中成为理想的选择。以下是芯片固定UV胶的一些主要优点
    的头像 发表于 05-23 13:44 352次阅读
    芯片固定uv胶<b class='flag-5'>有</b>什么<b class='flag-5'>优点</b>?

    芯片灌封胶是什么?哪些优点

    芯片灌封胶是什么?哪些优点?芯片灌封胶是一种液态复合物,通过机械或手工方式精准灌入装有电子元件、线路的器件内,在常温或加热条件下固化成为性能优异的热固性高分子绝缘材料。它广泛应用于电子元器件的粘接
    的头像 发表于 04-18 13:56 870次阅读
    芯片灌封胶是什么?<b class='flag-5'>有</b>哪些<b class='flag-5'>优点</b>?

    鸿蒙原生应用开发-网络管理WebSocket连接

    一、场景介绍 使用WebSocket建立服务器与客户端的双向连接,需要先通过createWebSocket()方法创建WebSocket对象,然后通过connect()方法连接到服务器。当连接成功后
    发表于 04-07 09:46

    集成芯片的优点哪些

    综上所述,集成芯片的优点在于其小型化、低功耗、高速度、高可靠性、功能丰富以及成本降低等方面。这些优点使得集成芯片在各个领域得到了广泛应用,推动了电子技术的快速发展。
    的头像 发表于 03-19 15:51 643次阅读

    恒讯科技带大家深入理解:WebSocket服务器的工作原理

    WebSocket是一种在单个TCP连接上进行全双工通信的通信协议。它的设计目标是在Web浏览器和服务器之间提供低延迟、高效的双向通信。下面是深入理解WebSocket服务器工作原理的一些关键概念
    的头像 发表于 01-29 16:48 424次阅读

    一文详解WebSocket协议

    WebSocket出现之前,一个Web应用(即时聊天、多人协作)的客户端和服务端之间常见的双向数据交换方式短轮询、长轮询、SSE(Server-Sent Events,服务器发送事件)。这些方式
    的头像 发表于 01-07 11:26 6974次阅读
    一文详解<b class='flag-5'>WebSocket</b>协议

    smt元器件哪些优点

    smt元器件哪些优点
    的头像 发表于 12-25 10:11 841次阅读

    零伏偏置电路的优点和应用哪些?

    零伏偏置电路的优点和应用哪些? 零伏偏置电路是一种常用的电子电路,它具有许多优点和广泛的应用。下面将详细介绍零伏偏置电路的原理、优点和应用。 一、零伏偏置电路的原理 在分析零伏偏置电
    的头像 发表于 12-20 11:37 1184次阅读

    距离保护哪些优点?距离保护是如何工作的?

    距离保护哪些优点?距离保护是如何工作的? 距离保护(Distance Protection)是一种电力系统的保护机制,用于检测和隔离故障,并确保电力系统的可靠运行。距离保护通过测量故障点与保护装置
    的头像 发表于 12-18 15:44 2212次阅读

    websocket协议的原理

    WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。 WebSocket通信协议于2011年被IETF
    的头像 发表于 11-09 15:13 1028次阅读
    <b class='flag-5'>websocket</b>协议的原理