websocket

websocket是什么?

  webscoket实际上就是一套类似于http的协议。

    - http协议:\r\n分割、请求头和请求体用两个\r\n分割、是无状态,短连接的。

    - websocket协议:\r\n分割、创建连接后不断开,创建连接时验证+数据加密

 

  websocket本质:

    - 就是一个创建后不断开的socket

    - 建立连接:

      客户端 ----(发送消息)----->  服务端      带有“Sec-WebSocket-Key:iyRe1KMHi4S4QXzcoboM==” 

      服务端: 接受之后,会对该数据进行加密  base(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的值进行处理:
        - payload_len <=125
        - payload_len ==126
        - payload_len ==127
    - 获取内容:
        - mask_key 
        - 数据 
        根据mask_key和数据进行位运算,就可以把值解析出来。
posted @ 2018-06-12 23:14  junjun_story  阅读(99)  评论(0编辑  收藏  举报
****************************************** 页脚Html代码 ****************************************** 页脚Html代码