websocket 初步认识
什么是websocket WebSocket是web浏览器和服务器之间的一种全双工通信协议,其中WebSocket协议由IETF定位标准,WebSocket API由W3C定位标准。一旦Web客户端与服务器建立起连接,之后的全部数据通信都通过这个连接进行。通信过程中,支持发送JSON、XML、HTML或图片等任意格式的数据。 WS(WebSocket)与HTTP协议相比 相同点主要有: 都是基于TCP的应用层协议; 都使用Request/Response模型进行连接的建立; 在连接的建立过程中对错误的处理方式相关,在这阶段WS可能返回和HTTP相同的返回码 都可以在网络中传输数据 不同之处在于: WS使用HTTP来建立连接,但是定义了一系列新的header域,这些域在HTTP中并不会使用; WS的连接不能通过中间人来转发,它必须是一个直接连接——那网关如何转发?分别建立 client-网关、网关-upstream的连接? WS连接建立之后,通信双方都可以在任何时刻向另一方发送数据; WS连接建立之后,数据的传输使用帧来传递,不再需要Request消息 WS的数据帧有序 主要特点 推送功能:服务器可以直接向客户端推送消息。 减少通信量:只要第一次建立连接,就可以一直进行通信,不像HTTP协议,需要频繁的建立请求,一问一答的模式。此外,WebSocket的头部数据也比较少。 握手协议