最近在做一个内部的服务对接,使用了Google的gRPC框架,gRPC是基于HTTP/2和protocolbuffers实现的,所以额外去了解了一下HTTP/2,找到这这边文章。这篇文章虽然是写于年时间比较久远,但是对于HTTP/2的介绍很全面,于是花了些时间翻译了一下。
HTTP/2诞生的意义
国际互联网工程任务组(TheInternetEngineeringTaskForce,简称IETF)在年2月通过了HTTP/2标准,自从年HTTP/1.1被列为标准后,HTTP/2是对HTTP(HypertextTransferProtocol)第一个大版本的更新。HTTP/2可以与HTTP/1.1高度兼容,但是却有更低的延迟。总而言之,HTTP/2就是为更快速的网站而生。
起源于SPDY
自从年底Google开发一个实验性质的协议SPDY(pronouncedspeedy),SPDY是Google的一个标志并不是一个缩写。HTTP/2期初是就以SPDY的实验特性为基础的。实际上,很多SPDY的核心开发者都参与了HTTP/2的研发工作。直到年2月,Google宣布SPDY将被废弃,并主推HTTP/2,并在年完全替代。
HTTP/1.1
从年起,HTTP/1.1就已经开始为我们提供服务,HTTP/1.1的设计就是为众多的电脑终端使用互联网。不得不说,HTTP等一个革新实在是太久了。为了辅助理解HTTP/1的工作原理,我这里列举了一些图片。图片中的需要展示的是一个客户端(可能是个浏览器),如何与一个图片右侧服务器建立HTTP/1连接的。
②浏览器客户端发送一个