HTTP协议的成长史-http1.0、http1.1、http2、http3的介绍

1.前言

互联网对我们的生活带来了巨大的影响,然而制定互联网应用传输规则之一的http协议,自1990年提倡至今已有近30年历史。期间经历http1.0,坎坷的http1.1,http2,以及目前正在撰写的http3草案。下面我们来介绍下http协议的核心内容吧。

2.Http协议的成长史

http1.0 1994年-1995年 草案撰写 1996年rfc1945标准出现

http1.1 1995年-1996年 草案撰写 1997年rfc2068标准出现(但是没通过,变成了拟定草案)

http1.1 1997年-1998年 草案撰写 1999年rfc2616标准出现

http2    2012年-2015年 草案撰写 2015年rfc7540标准出现

http3    2016年-至今      草案撰写中

3.Http1.0的启蒙

http1.0 定义了 用户代理(浏览器)到服务端的传输规则,它通过HttpMessage来完成请求和响应,下图为Http1.0Message的思维导图。

http1.0-Message

4.Http1.1的改进

http1.1提出了长连接的概念,通过connection:keep-alive,能有效的避免重新发起请求从而浪费网络资源的问题,下图中红色部分为新增内容。

5.Http2传输方式大改造

http2带来了很多新的特性,比如传统的http1.0/1.1每次请求只能发送一个,然而http2中,一次请求可以通过流并发的带上多个请求。另外服务端push的操作,传统的解决方案是通过websocket,然而http2中支持了push操作。它用frame封装了http1.0/1.1的Message,并且是传输的最小单位。通过Stream(流)来发送和响应请求,Stream支持了复用等特性,下图中红色部分为新增的特性。

6.Http3草案的展望

目前草案对http2中的frame和stream提出了更多的优化方案

7.参考地址

rfc1945

rfc2616

rfc7540

http3草案

8.后续纠正

Http协议中的Request-URI = absoluteuri | abs_path 前者是给代理用的后者是绝对路径

如无特殊说明,文章均为本站原创,转载请注明出处。如发现有什么不对的地方,希望得到您的指点。

发表评论

电子邮件地址不会被公开。 必填项已用*标注