1.Introduction to WebSocket



        官网英文参考:

        中文解析:

            Websocket 应用,server作为一个Websocket 端点,client 通过server的URL地址连接到server.一旦server和client连接建立,那就是对称连接。server和client在连接open的时候,可以再任何时候,相互发送信息。一个client通常只连接一个server,server支持多个client连接。

            Websocket协议分为两个部分(握手和数据交换)。客户端通过URL地址初始化握手请求,握手协议兼容目前的HTTP协议。server收到请求,将其理解为一个HTTP连接升级请求。

            客户端发起的连接握手请求如下图:

GET /path/to/websocket/endpoint HTTP/1.1
Host: localhost
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: xqBt3ImNzJbYqRINxEFlkg==
Origin: http://localhost
Sec-WebSocket-Version: 13

            服务端的回复请求如:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: K7DJLdLooIwIG/MOpvWFB3y3FE8=
                server通过一个方法,利用Sec-WebSocket-Key来产生Sec-WebSocket-Accept。客户端通过同样的方法,利用Sec-WebSocket-Key 产生Sec-WebSocket-Accept。如果接收的回复值和自己计算的值是一样的,那么就建立连接。握手成功之后,server和client就可以发送消息。

                    Websocket支持文本格式和二进制格式,Websocket的方法有close,ping,pong.ping,pong 连个方法可以包含数据。

                    Websocket 端点通过URIS区分表示,具体有下面两种方式:
ws://host:port/path?query
wss://host:port/path?query
                    ws 表示非加密连接,wss 表示加密连接,端口是可以指定的。非加密通信默认是80端口,加密连接默认是443端口,path 是server 端点的路径,query是可选项。
                    主流浏览器都实现Websocket协议,而且提供javascript 接口(连接到server 端点,发送信息,回调)






1.Introduction to WebSocket,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。