HTTP 1.0,1.1,2.0 特点 区别
首先,在了解他们之间区别之前,我们先简单看一下HTTP的工作过程
HTTP的访问其实是由两个阶段组成的。
http请求:http request
http响应:http response
一次http事务:请求<–>响应
当我们打开浏览器时,浏览器会向服务器端发送一个HTTP的请求,服务器收到请求以后,会根据用户发送的请求里面带有的命令来进行相应。也就意味着HTTP的通讯过程就是一去一回。一个请求一个响应。当然这一去一回前面还有三次握手,在三次握手之后才可以正常访问。
提高HTTP连接性能大概有以下几种方法
- 并行连接:通过多条TCP连接发起并发的HTTP请求
- 持久连接:keep-alive,长连接,重用TCP连接,以消除连接和关闭的时延,以事务个数和时间来决定是否关闭连接
- 管道化连接:通过共享TCP连接发起并发的HTTP请求
- 复用的连接:交替传送请求和响应报文(实验阶段)
接下来我们看一下HTTP1.0和HTTP1.1的区别
缓存处理:
- 在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准
- HTTP1.1则引入了更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等更多可供选择的缓存头来控制缓存策略 .
带宽优化及网络连接的使用:
- HTTP1.0中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能
- HTTP1.1则在请求头引入了range头域,它允许只请求资源的某个部分,即返回码是206(Partial Content),方便了开发者自由的选择以便于充分利用带宽和连接
错误通知的管理:
- 在HTTP1.1中新增24个状态响应码,如409(Conflict)表示请求的资源与资源当前状态冲突;410(G