美文网首页
WebSocket协议

WebSocket协议

作者: One_Hund | 来源:发表于2018-09-19 17:58 被阅读0次

一旦 Web 服务器与客户端之间建立起 WebSocket 协议的通信连接,之后所有的通信都依靠这个专用协议进行。通信过程中可互相发送 JSON、XML、HTML 或图片等任意格式的数据。
由于是建立在 HTTP 基础上的协议,因此连接的发起方仍是客户端,而一旦确立 WebSocket 通信连接,不论服务器还是客户端,任意一方都可直接向对方发送报文。
下面我们列举一下 WebSocket 协议的主要特点。

推送功能

支持由服务器向客户端推送数据的推送功能。这样,服务器可直接发送数据,而不必等待客户端的请求。

减少通信量

只要建立起 WebSocket 连接,就希望一直保持连接状态。和 HTTP 相比,不但每次连接时的总开销减少,而且由于 WebSocket 的首部信息很小,通信量也相应减少了。



为了实现 WebSocket 通信,在 HTTP 连接建立之后,需要完成一次“握手”(Handshaking)的步骤。
握手·请求
为了实现 WebSocket 通信,需要用到 HTTP 的 Upgrade 首部字段,告知服务器通信协议发生改变,以达到握手的目的。


Sec-WebSocket-Key 字段内记录着握手过程中必不可少的键值。 Sec-WebSocket-Protocol 字段内记录使用的子协议。
子协议按 WebSocket 协议标准在连接分开使用时,定义那些连接的名称。

握手·响应
对于之前的请求,返回状态码 101 Switching Protocols 的响应。

Sec-WebSocket-Accept 的字段值是由握手请求中的 Sec-WebSocket- Key 的字段值生成的。
成功握手确立 WebSocket 连接之后,通信时不再使用 HTTP 的数据帧,而采用 WebSocket 独立的数据帧



WebSocket●API
JavaScript 可调用“The WebSocket API”(http://www.w3.org/TR/websockets/,由 W3C 标准制定)内提供的 WebSocket 程序接口,以实现 WebSocket 协议下全双工通信。
以下为调用 WebSocket API,每 50ms 发送一次数据的实例。

学习链接:
WebSocket - MDN
WebSocket 教程 - 阮一峰的网络日志

相关文章

  • 好程序员web前端培训分享WebSocket协议

    好程序员web前端培训分享WebSocket协议,WebSocket协议简介 一.WebSocket协议简介 1....

  • 1.解释WebSocket,socketio

    1.解释WebSocket,socketio WebSocket:是一个标准网络传输协议 WebSocket协议是...

  • python之websocket

    一、websocket WebSocket协议是基于TCP的一种新的协议。WebSocket最初在HTML5规范...

  • 在tornado中使用WebSocket

    什么是WebSocket WebSocket是一种网络通信协议,与Http协议不同的是,WebSocket 连接允...

  • 基于koa的前后端分离的socket.io使用

    1、websocket websocket是html5出的协议,它是基于TCP协议,利用http协议建立连接,实现...

  • 2.WebSocket

    WebSocket简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议...

  • WebSocket

    WebSocket简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议...

  • websocket

    WebSocket简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议...

  • WebSocket SSL 加密浅析

    1 WebSocket 原理 1.1 背景 WebSocket 是基于Http 协议的改进,Http 为无状态协议...

  • SRWebSocket源码解析

    WebSocket协议 中文翻译的WebSocket协议 SRWebSocket 一. 初始化 二. 建立连接 开...

网友评论

      本文标题:WebSocket协议

      本文链接:https://www.haomeiwen.com/subject/poqvwftx.html