HTTP的几个重要版本演变

前言

在上次发了一篇关于HTTP的文章之后,后来又去了解了HTTP的发展史,简直是浪漫充满曲折,今天就来看看HTTP经历了哪些过程才形成了今天这个伟大的局面。

一、HTTP1.0

我们知道HTTP最开始是没有密文传输的,也没有长连接,也不支持多次请求;在最开始的时候,HTTP的1.0版本的时候,HTTP只支持短连接,相比之前,增加了POST、HEAD等新方法,响应状态码也是这时候才有的,引入了头部,即请求头和响应头,在请求中加入了HTTP版本号,引入了Content-Type,让传输数据不再仅限于文本。

  • 增加了响应状态码;
  • 增加了HEAD、POST等新方法;
  • 引入了头部,即请求头和响应头;
  • 在请求中增加了HTTP版本号;
  • 引入了Content-Type。

引入了新的方法之后,对于资源的操作管理效率有了一个很大的提高,节省了很多不必要的操作;头部的引入也使得请求和响应的内容更灵活,最最重要的是引入了响应状态码,让开发者通过状态码去分析问题,提高了开发效率;当然Content-Type也支持了不同类型的传输数据,不再局限于文本,满足了用户的需求。

二、HTTP1.1

HTTP1.0的成立可以说是一个了不起的成就,但是随着网络发展,用户需求也在不断更改,浏览器大战之后,HTTP由1.0荣升为了1.1版本,相较于1.0,它的改变主要在于以下几个方面:

  • 新增了连接管理,即keepalive,允许持久连接;
  • 支持pipeline,不用等待前面的请求响应,可以发起二次请求;
  • 新增缓存的控制和管理;
  • 允许响应数据分块,如果响应的时候不表明Content-Length,客户端就无法断开连接,一直要等收到服务器的EOF,利于传输大文件;
  • 加入了host头,帮助判读访问哪个主机。

浏览器大战推进了web的发展,但也充分展现了HTTP1.0的不足之处,毕竟网络一直在不断发展进步,协议总不能拖后腿。 因此HTTP1.1也是应势而生,解决了性能问题,包括支持持久连接、pipeline、缓存管理等等,也添加了一些特性,这时候的HTTP已经成为了标准。但标准如果一直改进,寻求安逸,也会被新的事务替代,所以当谷歌提出了更好的SPDY协议时,HTTP按奈不住了,开始制定新版本的协议,所以有了HTTP/2版本。

三、HTTP/2

HTTP/2主要增加了一下几点:

  • 纯文本改成二进制协议;
  • 支持一个TCP发起多次请求,去掉了pipeline;
  • 允许服务端主动推送数据。
    从纯文本改成二进制其实简化了整齐的复杂性,解析数据的开销更小了,数据也更加紧凑,减少了网络延迟。支持TCP发起多次请求就是支持多路复用,多路复用就是完全异步化,减少了整体的往返时间,解决了HTTP队头阻塞的问题,也规避了TCP慢启动带来的影响。服务端主动推送数据,减少了请求次数,比如客户端请求一个html页面,服务端把需要的js和css也一块送过去,避免了之后客户端再继续发送请求。HTTP/2之后,很快又有了3版本,这里就不赘述了,感兴趣可以看看HTTP发展史。

四、HTTPS

那么这里为什么提到HTTPS呢?它的全称是Hypertext Transfer Protocol Secure,从名字就可以看出它比HTTP多了一个Secure 安全性这个概念,HTTPS其实就是HTTP+TLS/SSL协议组合而成,安全性就是通过TLS/SSL得到保证的。我们都知道HTTP是未经加密的传输协议,传输过程容易被攻击者监听,数据容易被盗取,发送方和接收方容易被伪造;但是HTTPS通过密钥交换换算法-签名算法-对称加密算法-就能够解决上面这些问题,所以HTTPS就是HTTP的安全版。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了HTTP几个重要版本的演变,希望对大家有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值