HTTP2.0
来源:互联网 发布:手机股票行情大盘软件 编辑:程序博客网 时间:2024/06/04 17:51
http2.0的兼容性还不是很好,新版协议再好也需要业界的产品锤炼,需要基础设施逐年累月的升级换代才能普及。
http2.0的一些改进:
1. HTTP/2 采用二进制格式传输数据,而非 HTTP/1.x 的文本格式。二进制格式在协议的解析和优化扩展上带来更多的优势和可能。。基于文本协议的格式解析存在天然缺陷,文本的表现形式有多样性,要做到健壮性考虑的场景必然很多,二进制则不同,只认0和1的组合。基于这种考虑http2.0的协议解析决定采用二进制格式,实现方便且健壮。
2. HTTP/2 对消息头采用 HPACK 进行压缩传输,能够节省消息头占用的网络的流量。而 HTTP/1.x 每次请求,都会携带大量冗余头信息,浪费了很多带宽资源。头压缩能够很好的解决该问题。通讯双方各自cache一份header fields表,既避免了重复header的传输,又减小了需要传输的大小。高效的压缩算法可以很大的压缩header,减少发送包的数量从而降低延迟。
3. 多路复用,即连接共享,直白的说就是所有的请求都是通过一个 TCP 连接并发完成。HTTP/1.x 虽然通过 pipeline 也能并发请求,但是多个请求之间的响应会被阻塞的,所以 pipeline 至今也没有被普及应用,而 HTTP/2 做到了真正的并发请求。同时,流还支持优先级和流量控制。http2.0里的每个stream都可以设置又优先级(Priority)和依赖。。优先级高的stream会被server优先处理和返回给客户端,优先级和依赖都是可以动态调整的。动态调整在有些场景下很有用。假想用户在用你的app浏览商品的时候,快速的滑动到了商品列表的底部,但前面的请求先发出,如果不把后面的请求优先级设高,用户当前浏览的图片要到最后才能下载完成,显然体验没有设置优先级好。同理依赖在有些场景下也有妙用。
4. Server Push:服务端能够更快的把资源推送给客户端。例如服务端可以主动把 JS 和 CSS 文件推送给客户端,而不需要客户端解析 HTML 再发送这些请求。当客户端需要的时候,它已经在客户端了。
5. 更安全的SSL。HTTP2.0对tls的安全性做了近一步加强,通过黑名单机制禁用了几百种不再安全的加密算法,一些加密算法可能还在被继续使用。如果在ssl协商过程当中,客户端和server的cipher suite没有交集,直接就会导致协商失败,从而请求失败。
但目前兼容性不好,并且仍然存在RTT延迟,部署成本比较高。
- Http2.0
- HTTP2.0
- HTTP2.0
- SPDY与HTTP2.0
- http与http2.0
- HTTP2.0协议
- Http2.0核心优势
- HTTP2.0简明笔记
- http2.0 的优势
- http2.0新特性
- nginx 配置http2.0
- HTTP2.0 HTTPS学习
- HTTP2.0相关资料
- HTTP2.0新特性
- http2
- HTTP2
- HTTP2
- http2
- Android Studio 引入com.jakewharton:butterknife:8.8.1后报空指针
- MySql索引
- 如何在user版本下预置so库
- tensorflow入门9 模型部署2
- 李零:读《剑桥战争史》——没人把《孙子兵法》当回事
- HTTP2.0
- java编写静态的俄罗斯方块
- android帧动画实现方式
- java.lang.NoSuchFieldError: No field title of type
- jks bks 等的定义 如何将jks转化为bks的
- Innodb隔离级别的实现原理
- 友元函数和友元类
- vs2010 创建 translation file 方法
- gg