WebSocket 初探(一)

2017-07-17  本文已影响0人  hylide

WebSocket

WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)

在 WebSocket API,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送

以上摘自 百度百科

实际上,我们可以简单的将 WebSocket 理解为:

在 Http 连接的基础上,通过客户/服务端都支持的协议规则,经过一次握手协定,升级为 WebSocket 连接(本质上就是一个 socket 连接)

其中客户端不仅限于 当前支持 WebSocket 技术的浏览器,这也是下文要说的内容。

WebSocket 握手协议

在实现websocket连线过程中,需要通过浏览器发出websocket连线请求,然后服务器发出回应,这个过程通常称为“握手” (handshaking)

客户端侧, 握手请求:


   GET /your router HTTP/1.1

   Host: your host

   Upgrade: websocket Connection: Upgrade

   Sec-WebSocket-Key: xqBt3ImNzJbYqRINxEFlkg==

   Origin: http://your host

   Sec-WebSocket-Version: 13

客户端发送握手请求要求如下:

服务端侧, 握手回应:


   HTTP/1.1 101 Switching Protocols

   Upgrade: websocket

   Connection: Upgrade

   Sec-WebSocket-Accept: K7DJLdLooIwIG/MOpvWFB3y3FE8=

上一篇 下一篇

猜你喜欢

热点阅读