zoukankan      html  css  js  c++  java
  • websocket初步了解

    https://www.cnblogs.com/fuqiang88/p/5956363.html

    websocket是一种新型的协议,协议标识符为ws,加密即为wss

    简单说来就是一种持续的http服务,但不需要多次请求,仅需要进行一次通讯,后期使得服务端自动回应

    在http1.0中,http的生命周期是依靠一个request和一个respone来界定,收到一次响应后就结束了,而在http1.1中加入了keep-live,增加访问时间,发送多次request请求,接受多个respone

    一个普通的websocket包会在请求头中加入

    Upgrade: websocket
    Connection: Upgrade
    

    表示自己发送的是一个websocket包
    然后通过

    Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==
    Sec-WebSocket-Protocol: chat, superchat
    Sec-WebSocket-Version: 13
    

    表明自己需要的信息
    sec-websocket-protocol表示自己需要的服务

    sec-websocket-version表示websocket的版本

    Sec-WebSocket-Key表示自己的加密信息

    然后服务端会返回一个数据包

    HTTP/1.1 101 Switching Protocols
    Upgrade: websocket
    Connection: Upgrade
    Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk=
    Sec-WebSocket-Protocol: chat
    

    Sec-WebSocket-Accept表示服务端收到信息后返回的加密的信息,是 Sec-WebSocket-Key”加上一个特殊字符串 258EAFA5-E914-47DA-95CA-C5AB0DC85B11,然后计算 SHA-1 摘要,之后进行 BASE-64 编码,将结果做为Sec-WebSocket-Accept 头的值,返回给客户端。

    Sec-WebSocket-Protocol表示请求的服务

    这样就会建立一个websocket服务,获得到自己需要的资源

  • 相关阅读:
    Python
    C#中读写INI文件
    C#函数式编程
    TypeScript安装
    finally是否执行?finally何时执行?
    JavaScript对象、JSON对象、JSON字符串的区别
    webjars-jquery的引用
    spring boot 笔记--第三章
    两个常见tomcat警告分析
    JSch 实现 SSH 端口转发
  • 原文地址:https://www.cnblogs.com/hf99/p/9741898.html
Copyright © 2011-2022 走看看