前言
Webscoket是Web浏览器和服务器之间的一种全双工通信协议,WebSocket协议由IETF定义标准,WebSocket API则由W3C定义标准。
一、通信流程
Web客户端与服务器通过http协议建立起连接,然后在接下来的通信过程中,通过websocket协议可互相发送JSON、XML、HTML或图片等任意格式的数据。
如此一来服务器可以直接向客户端推送消息。相对比之前采取的方式都是客户端主动向服务器发送请求,然后由服务器响应,这样比较耗费网络及cpu的资源。(相当节省了向服务器请求这个过程);采用websocket协议,只要第一次建立连接,就可以一直进行通信,不用像HTTP协议频繁的建立请求(一问一答)。
二、握手过程
1. 客户端请求连接
websocket是基于TCP的一个应用协议,websocket的握手先是以 HTTP包与HTTP服务器通过Update request HTTP包建立起连接,然后接下来的通信使用websocket自己的协议。具体的请求格式如下:
GET /chat HTTP/1.1 //请求的方法&#x