美文网首页
http2新特性

http2新特性

作者: 沐雨芝录 | 来源:发表于2019-03-12 17:49 被阅读10次

2015年发布
2009年Google自行研发的SPDY在Chrome上验证成功后,被当作是HTTP/2的基础

  • 完全采用二进制协议
  • 支持多路复用(multiplexing)
  • 支持头部压缩(header compression)
  • 支持服务器推送(server push)

二进制协议

  • HTTP/2完全采用二进制协议,头信息和数据体都是二进制的,统称为帧(frame)。可以使得帧的识别更简单,并且传输信息更高效。其缺点是不便于调试,这就需要我们使用相应的工具来理解二进制的内容。

  • HTTP/2之前的协议都是基于ASCII码,好处是可读性好,容易上手。其缺点是可选的空格以及多变的终止符给识别帧造成了一些困难。

多路复用

  • 在HTTP/1.1中,如果客户端为了提高性能想要在一个TCP连接内同时发起多个请求,每个请求必须按顺序被服务器依次响应,如果某一个请求特别耗时,那么后面的请求将会被一直阻塞。

  • 而在HTTP/2中,如果在一个TCP连接内同时发起多个请求,每个消息可以被拆成互不依赖的帧并且各帧之间交错发送,然后在另一端重新把帧组装起来。这个特性就叫做多路复用。

头部压缩

每个HTTP请求时都会承载一组表头。在HTTP/1.x中表头是以纯文本形式传输,通常需要500~800字节的开销,如果有cookie的话甚至会达到上千字节。为了减少这种开销并且提升性能,HTTP/2使用了HPACK算法进行压缩

  • 头部字段使用静态Huffman编码

服务端推送

HTTP/2为此提出了服务器推送机制,服务器端可以通过发起PUSH_PROMISE帧告知客户端,客户端收到服务器想要推送资源的意图后,可以决定是否接收推送。

服务器推送功能虽然很强大,但在实际使用中还需要考虑一些问题。第一个问题是如果客户端已经有缓存了,那么推送资源就是一种浪费。一种解决方法是只在用户第一次访问的时候推送资源。第二个问题是目前我们一般把静态资源放在CDN上,目前大部分CDN还不支持服务器推送,那么CDN和服务器推送到底哪个效果更好,这个可能还需要一些测试数据来做评判。

相关文章

  • http2新特性

    2015年发布2009年Google自行研发的SPDY在Chrome上验证成功后,被当作是HTTP/2的基础完全采...

  • HTTP2新特性

    对1.x协议语意的完全兼容性能的大幅提升 二进制分帧(frame) HTTP2.0性能增强的核心:二进制分帧。HT...

  • HTTP2的新特性

    我们现在用到的HTTP协议,基本上分为HTTP1.1和HTTP2.0。我们这里说的HTTP2.0新特性是相对于HT...

  • HTTP/2部署使用

    本文来自网易云社区 为了更好地研究HTTP2的一些新特性,或者有小伙伴想让自己的站点支持HTTP2的请求,以提升访...

  • 15,http2随便谈谈

    http2相对于http有如下特性:

  • HTTP2的特性解析

    本文主要介绍了HTTP2相对于HTTP1.1的一些改进和新特性。 1、HTTP1.1的不足 HTTP协议采用“re...

  • HTTP2的特性解析

    本文主要介绍了HTTP2相对于HTTP1.1的一些改进和新特性。 1、HTTP1.1的不足 HTTP协议采用“re...

  • 4-5 HTTP2的优势和Nginx配置HTTP2的简单使用

    Http2的优势: http2的配置: http2的性能测试网站:https://http2.akamai.com...

  • JDK新特性书目录

    JDK1.4新特性 JDK1.5新特性 JDK1.6新特性 JDK1.7新特性 JDK1.8新特性

  • 基于HTTP2与Universal-Push-Notificat

    简介 新的APNs协议基于HTTP2,一种是使用Universal Push Notification Clien...

网友评论

      本文标题:http2新特性

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