We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.阻塞问题:同个域名只允许同时建立6个TCP持久连接 2.无状态:巨大且重复的字段,几个请求的头部都是相同的都是每次都要发送 3.明文传输 4.只能由客户端发起请求,不支持服务器推送消息
1.二进制传输
HTTP/2 采用二进制格式传输数据,而非HTTP/1.x 里纯文本形式的报文 ,二进制协议解析起来更高效。 HTTP/2 将请求和响应数据分割为更小的帧,并且它们采用二进制编码。
HTTP/2 中,同域名下所有通信都在单个连接上完成,该连接可以承载任意数量的双向数据流。每个数据流都以消息的形式发送,而消息又由一个或多个帧组成。多个帧之间可以乱序发送,根据帧首部的流标识可以重新组装。 2.Header压缩 HTTP/2并没有使用传统的压缩算法,而是开发了专门的"HPACK”算法,在客户端和服务器两端建立“字典”,用索引号表示重复的字符串,还采用哈夫曼编码来压缩整数和字符串,可以达到50%~90%的高压缩率。 例如下图中的两个请求, 请求一发送了所有的头部字段,第二个请求则只需要发送差异数据,这样可以减少冗余数据,降低开销
3.多路复用:同个域名只需要占用一个TCP连接,并行发送多个请求 4.Server Push 主动推送也遵守同源策略 5.提高安全性
出于兼容的考虑,HTTP/2延续了HTTP/1的“明文”特点,可以像以前一样使用明文传输数据,不强制使用加密通信,不过格式还是二进制,只是不需要解密。 但由于HTTPS已经是大势所趋,而且主流的浏览器Chrome、Firefox等都公开宣布只支持加密的HTTP/2,所以“事实上”的HTTP/2是加密的。也就是说,互联网上通常所能见到的HTTP/2都是使用"https”协议名,跑在TLS上面。HTTP/2协议定义了两个字符串标识符:“h2"表示加密的HTTP/2,“h2c”表示明文的HTTP/2。
一文读懂HTTP/2 及 HTTP/3特性 一文读懂 HTTP/2 特性
The text was updated successfully, but these errors were encountered:
No branches or pull requests
http1.x存在:
1.阻塞问题:同个域名只允许同时建立6个TCP持久连接
2.无状态:巨大且重复的字段,几个请求的头部都是相同的都是每次都要发送
3.明文传输
4.只能由客户端发起请求,不支持服务器推送消息
http2的特性:
1.二进制传输
3.多路复用:同个域名只需要占用一个TCP连接,并行发送多个请求
4.Server Push 主动推送也遵守同源策略
5.提高安全性
一文读懂HTTP/2 及 HTTP/3特性
一文读懂 HTTP/2 特性
The text was updated successfully, but these errors were encountered: