websocket和http2

websocket和http的区别

http: 连接不持久,服务器不能主动推动内容
websocket: 连接持久,服务器可以主动推送内容
细节:
websocket数据格式轻量,性能开销小,数据交换时,包头的字节只有2-10字节,相比http的头部小很多
协议标识:ws、wss

建立连接

req头
在这里插入图片描述
response头
在这里插入图片描述

http1.0、http1.1、http2.0区别

http1.0:

  • 每条请求都要建立连接,断开连接。
  • 队头阻塞现象,即需要等一个请求响应完毕后,才能发起下一个请求

http1.1:

  • 多个请求可以使用一个tcp的长连接
  • 可以与服务端建立多个长连接,客户端可以并发请求数据,一定程度上缓解了队头阻塞的问题

http2.0:

  • 浏览器针对同一个域名的资源,只建立一个tcp连接通道,所有的针对这个域名的请求全部在这个通道中完成
  • 引入了流的机制,每个请求被切分成多个帧(frame)发送,每个帧记录了请求的streamid,接收端可以根据streamid拼接帧
  • 这条通道可以同时处理多个request,http2的多路复用,对于request的响应并不会因为上一个request的响应未完成而阻塞,http2彻底解决了http层面的队头阻塞。
  • 服务器主动推送:服务器可以主动推送资源,如在收到加载html的请求后,server可以主动推送js和css资源
  • 头部压缩:
    1. 使用静态表,将常用的头部映射为数字,值部分采用哈夫曼(Huffman)编码,5位代替原来的8位,节省空间
    2. 动态表,缓存静态表以外的头部
    3. 动态表和静态表的设计会增加服务器的内存使用,所以会限制缓存的数量

参考:
https://www.jianshu.com/p/63fe1bf5d445
https://juejin.cn/post/6844903489596833800

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值