HTTP协议发展史

HTTP/0.9   (1991)

      1.只有一个命令GET。

      2.没有HEADER等描述数据的信息。

      3.服务器发送完毕, 就关闭TCP连接。

 

HTTP/1.0 (1996)

     1.增加了POST, PUT , Header等命令

     2. 增加了 status code (处理请求的状态)和 Header(信息)

     3.支持了多字符集、 多部分发送、权限、 缓存等

 

HTTP/1.1 (1999)

   1.增加了持久连接(长连接)。即,HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接。

    HTTP是基于TCP/IP协议的,创建一个TCP连接是需要经过三次握手的,有一定的开销,如果每次通讯都要重新建立连接的话,对性能有影响。因此最好能维持一个长连接,可以用个长连接来发多个请求。

   2.pipeline。   可以在同个链接里 发送多个请求。但1.1服务端请求进入是需要按照顺序进行的。在HTTP2.0中会进行优化。

   3.增加host域和其他一些命令。

   4.支持只发送头信息,服务器认为客户端有权限请求服务器,则返回100,否则返回401。客户端如果接受到100,才开始把请求body发送到服务器。

  5.可以声明保持TCP连接状态

HTTP/2.0(2015)

1.所有数据以二进制传输。

2.同一个连接里面发送多个请求不再需要按照顺序来。

3.头信息压缩以及推送等提高效率的功能。

4.TCP连接支持并发, 多个请求只用创建一个TCP协议

  

你可能感兴趣的:(http)