美文网首页
HTTP2.0 简介

HTTP2.0 简介

作者: 莫帆海氵 | 来源:发表于2020-10-11 16:19 被阅读0次

定义

HTTP/2 是 HTTP 协议的一个升级,它的主要目的是为了解决 HTTP/1.x 中不好实现功能,比如并发访问、TCP连接复用等

HTTP/2 的实现的主要功能包括通过支持完整的请求与响应复用来减少延迟,通过有效压缩 HTTP 标头字段将协议开销降至最低,增加对请求优先级和服务器推送的支持

您很可能注意不到任何区别:所有新的低级分帧由客户端和服务器为您执行

概念

理解以下的概念有助于学习 HTTP/2

数据流:已建立连接内的双向字节流,可以承载一条或多条消息

消息:与逻辑请求或响应消息对应的完整的一系列帧

帧:HTTP/2通信的最小单位,包含帧头

它们的关系:

一个 TCP 连接上承载任意数量的数据流,每个数据流承载双向消息,每条消息包含一个或多个帧,帧是最小单位承载特定的数据

二进制分帧层

在应用层新增一个二进制分帧层,用来处理所有 http/2 新增的特性,对于通过 http/2 传输的信息细分为消息和帧,使用二进制格式编码。

http2_binary_framing.jpg

它有哪些优点?

请求与响应复用、服务器推送、标头压缩等。

请求与响应复用

HTTP/2 的消息都是在一个 TCP 连接内完成,通过把消息分成一些列的帧,把这些帧交错传输从而达到复用的目的,每个帧都包含数据流标识符,接收端根据其在重新组装成一条消息。

image.png

数据流优先级,因为在一个连接中有多个帧交错传输,为了保证传输优先级高的资源,通过给数据流设置权重和依赖关系来实现传输的优先级。

每个来源一个连接,因为请求与响应的复用,所以通过 HTTP/2 的数据流都可以在一个 TCP 连接传输,所以只需要每个来源一个连接即可,HTTP/2 的链接都是永久的。

image (1).png

如图所示可以通过 Network 工具查看请求的 Connection ID 会发现同一个源下面使用 HTTP/2 的请求都是同一个 ID

服务器推送

服务器可以对一个客户端请求发送多个响应。有别于 HTTP/1.x 定义的一个请求一个响应,HTTP/2 下服务器可以主动推送内容给客户端,这主要考虑场景是现在的一个网络应用会包含多种资源,可以通过服务器提前推送这些资源,从而减少客户端再次发起资源请求的延迟时间。

所有服务器推送数据流都是通过 PUSH_PROMISE 帧发起,客户端接受到后可以拒绝、缓存、复用

image (2).png

标头压缩

压缩请求与响应标头的元数据减少传输的字节大小,通过 HPACK 压缩格式,有别于 HTTP/1.x 中每次请求都带上所有的请求头信息,HTTP/2 通过对传输的标头字段编码后传输索引值,然后通过服务端和客户端维护的索引列表来解码重构标头键值对。

image (3).png

对于如何查看一个请求是否开启 HTTP/2,可以通过查看请求响应头,":method" 等包含以冒号开头的标头都可以认为是 HTTP/2

image (4).png

结论

简单介绍了 HTTP/2 的一些概念以及一些新特性,总结下来 HTTP/2 主要特性,请求与响应复用、标头压缩、服务端推送。

了解到了一些特有的关键词,数据流、消息、帧、二进制分帧层,每个来源一个连接,霍夫曼编码

相关文章

  • 深入理解http2.0协议,看这篇就够了

    http2.0协议简介 什么是http2.0协议? 在http2.0官网 的描述是: 中文总结一下就是: 对1.x...

  • HTTP2.0 简介

    定义 HTTP/2 是 HTTP 协议的一个升级,它的主要目的是为了解决 HTTP/1.x 中不好实现功能,比如并...

  • 学习资料

    HTTPS和HTTP2.0简介[https://www.jianshu.com/p/39b6c2523182]

  • HTTPS和HTTP2.0简介

    前言 近几年无论在前端和后端领域的技术迭代十分迅速,比如前段时间SpringBoot2.0的更新采用了Http2....

  • HTTP2.0

    HTTP2.0 标签(空格分隔): HTTP2.0 HTTP2.0 核心变化:二进制分帧 在应用层(HTTP2.0...

  • HTTP1.1/HTTPS/HTTP2.0

    HTTP2.0 新特性 新的二进制协议 多路复用 header 压缩 服务端推送 参考 HTTP/2 简介 | ...

  • Android 开发中的日常积累

    Android 开发中的日常积累 HTTP2.0 测试是否支持http2.0,需翻墙 httpvshttps ch...

  • 14-02:HTTP2.0 的特性

    http2.0 的特性如下: 1、内容安全,应为 http2.0 是基于 https 的,天然具有安全特性,通过 ...

  • Http Https SPDY

    HTTP,HTTP2.0,SPDY,HTTPS你应该知道的一些事 HTTP2.0的奇妙日常 淘宝全站HTTPS实践...

  • nginx配置Http2.0

    最近关注http2.0,然后想在在网站配置http2.0如下是配置和遇到的问题 使用server是基于nginx得...

网友评论

      本文标题:HTTP2.0 简介

      本文链接:https://www.haomeiwen.com/subject/vhuepktx.html