开发者社区> 问答> 正文

谈谈你对websocket协议的认识

谈谈你对websocket协议的认识

展开
收起
珍宝珠 2019-11-22 10:53:39 2907 0
1 条回答
写回答
取消 提交回答
  • websocket是给浏览器新建的一套(类似于http)协议,协议规定:浏览器和服务器连接之后不断开,以达到服务端向客户端主动推送消息。
    本质:
    创建一个连接后不断开的socket
    当连接成功之后:
        客户端(浏览器)会自动向服务端发送消息,包含:Sec-WebSocket-Key: iyRe1KMHi4S4QXzcoboMmw==
        服务端接收之后,会对于该数据进行加密:base64(sha1(swk + magic_string))
        构造响应头:
                HTTP/1.1 101 Switching Protocols\r\n
                Upgrade:websocket\r\n
                Connection: Upgrade\r\n
                Sec-WebSocket-Accept: 加密后的值\r\n
                WebSocket-Location: ws://127.0.0.1:8002\r\n\r\n        
        发给客户端(浏览器)
    建立:双工通道,接下来就可以进行收发数据
        发送数据是加密,解密,根据payload_len的值进行处理
            payload_len <= 125
            payload_len == 126
            payload_len == 127
        获取内容:
            mask_key
            数据
            根据mask_key和数据进行位运算,就可以
    把```  
    值解析出来。
    2019-11-22 10:54:01
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
阿里巴巴HTTP 2.0实践及无线通信协议的演进之路 立即下载
阿里巴巴HTTP2实践及无线通信协议的演进之路 立即下载
低代码开发师(初级)实战教程 立即下载