一些HTTP2笔记

HTTP 1.1发明以来发生了哪些变化

1.从几KB大小的消息,到几MB大小的消息

2.每个页面小于10个资源,到每页面100多个资源

3.从文本为主的内容,到富媒体(如图片,声音,视频)为主的内容

4.对页面内容实时性高要求的应用越俩越多

 

HTTP 1.1的高延迟问题

高延迟带来页面加载速度的降低

1.随着带宽的增加,延迟并没有显著下降

2.并发连接有限

3.同一连接同时只能在完成一个HTTP事务(请求/响应)才能处理下一个事务

 

高延迟VS高带宽

单连接上的串行请求

无状态导致的高传输量(低网络效率)

无状态特性带来的巨大HTTP头部

重复传输的体积巨大的http头部

特别是cookie

HTTP 1.1为了解决性能问题做过的努力

1.Spriting 合并多张小图为一张大图供浏览器JS切割使用

缺点:不能区别对待,一张小图的更改,整个大图需要重新传输

2.Inlining内联:将图片嵌入到CSS或者HTML文件中,减少网络请求次数

3.Concatenation拼接:将多个体积较小的js使用webpack等工具打包成1个体积更大的js文件

缺点:1个文件的改动导致用户重新下载多个文件

4.Sharding分片:将同一页面的资源分散到不同域名下,提升连接上限

 

HTTP 1.1不支持服务器推送消息

 

HTTP2 特性

SPDY(2012-2016 google)

HTTP2 (RFC7540 2015.5)

1.在应用层上修改,基于并充分挖掘TCP协议性能

2.客户端向server发送request这种基本模型不会变

3.老的scheme不会变,没有http2://

4.使用http 1.x的客户端和服务器可以无缝的通过代理方式转接到http 2.x上

5.不识别http 2的代理服务器可以将请求降级到http1.x

主要特性

传输数据量的大幅减少

1.以二进制方式传输

2.标头压缩

多路复用及相关功能

消息优先级

服务器的消息推送

 

HTTP2是不是必须基于TLS/SSL协议

1.IETF标准不要求必须基于TLS/SSL协议

2.浏览器要求必须基于TLS/SSL协议

(1).希望网络安全

(2).利用现有的TLS握手

3.在TLS层ALPN扩展做协商,只认HTTP 1.x的代理服务器不会干扰HTTP 2

4.schema: http://和https://默认基于80和443端口

5.h2:基于TLS协议运行的http 2被称为h2

6.h2c:直接在tcp协议之上运行的http 2被称为h2c

 

h2与h2c的区别

h2c:不使用TLS协议进行协议升级

客户端测试工具:curl (7.46.0版本及以上支持http 2)

curl http://nghttp/2.org -http/2 -v 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小卒曹阿瞒

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

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

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

打赏作者

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

抵扣说明:

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

余额充值