HTTP/2.0学习小记

HTTP/2使用

  1. h2是基于ssl加密传输必须要有证书
  2. 证书可上阿里云免费申请, 或使用openssl工具生成自签名证书
  3. nodejs加载http2模块
  4. 使用http2.createSecureServer方法创建h2连接

openssl证书生成命令

openssl req -newkey rsa:2048 -nodes -keyout rsa_private.key -x509 -days 365 -out cert.crt

注意: 如果是使用阿里云服务别忘了添加规则打开入口443端口访问权限
在这里插入图片描述

HTTP

  1. HTTP/1.1 基于字符串
  2. HTTP/2 基于帧

HTTP/2 的帧(Frame)与流(Stream)等概念

HTTP/2特点

  1. 异步连接多路复用
  2. 头部压缩;
  3. 请求/响应管线化;
  4. 多路复用请求;
  5. 对请求划分优先级;
  6. 压缩HTTP头;
  7. 服务器推送流(即Server Push技术);
  8. SPDY试图保留HTTP的现有语义,所以cookies、ETags等特性都是可用的。

保持与HTTP 1.1语义的向后兼容性也是该版本的一个关键目标。SPDY是一种HTTP兼容协议,由Google发起,Chrome、Opera、Firefox以及Amazon Silk等浏览器均已提供支持。HTTP实现的瓶颈之一是其并发要依赖于多重连接。HTTP管线化技术可以缓解这个问题,但也只能做到部分多路复用。此外,已经证实,由于存在中间干扰,浏览器无法采用管线化技术。SPDY在单个连接之上增加了一个帧层,用以多路复用多个并发流。帧层针对HTTP类的请求响应流进行了优化,因此运行在HTTP之上的应用,对应用开发者而言只要很小的修改甚至无需修改就可以运行在SPDY之上。
在这里插入图片描述

帧: HTTP/2.0连接中的最小单元

流:帧在跨越一个虚拟通道的双向流动的HTTP/2.0连接内(帧传输所用到的管道)

"流"里面的多路复用

  1. 响应使用了"流"管道技术,可以根据请求的顺序给响应标识,保证可以给对应的请求做响应
  2. 一个流里可以响应几百条数据,比http/1的并行处理极大的优化了响应速度
  3. 以前需要多个http/1请求的,现在都可以用一个http/2来解决

流里面使用的管道化技术多路复用代替了HTTP/1的并行连接

HTTP/2 的Server Push的利与弊

Server Push只会在用户请求特定的地址时 服务器会 “主动”推送资源给用户

所以,使用Server Push需要提前配置好

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Supernova_gu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值