HTTP1.0 HTTP 1.1之间的区别:
一、http是无状态的,创建一个tcp连接需要经过三次握手。http1.0是支持使用keep-alive参数来通告服务器需要建立一个长连接,这样浏览器与服务器可以保持着连接,而http1.1不需要依靠keep-alive参数,默认就支持长连接。
二、http1.1支持仅仅发送header信息,不需要传递与body相关的信息。
三、http1.0判断缓存是通过header中的If-Modified-Since与Expires,与此不同的是http1.1则是引入了非常多的缓存控制策略,诸如Entity tag,If-Unmodified-Since, If-Match, If-None-Match。
四、http1.1新增了24个错误状态响应码,诸如409,表示浏览器请求的资源与该资源此时状态存在冲突;410表示server上的某个资源已被永久性地删除掉。
五、http1.0中每台server仅仅绑定一个且是唯一的ip地址,不能绑定两个ip地址,所以,在请求资源中的url中并未传递主机名,也就是hostname。但是http1.1中,每台服务器上可以绑定多个虚拟主机,这多个虚拟主机共同分享同一个ip地址
HTTP1.0 与HTTP 2.0之间的区别:
一、http2.0同一个连接可以并发处理许多个请求,与http1.1相比,并发请求的数量大了好多个数量级。
二、HTTP1.1并不支持header头部数据的压缩,HTTP2.0则支持header头部数据的压缩,这样http2.0就会在网络上传输更快。
三、HTTP2.0支持服务器顺便将某些客户端需要的资源一起发送到server,这样就省去了客户端再次发送请求到server中获取。
服务器顺便将某些客户端需要的资源其实存在客户端的某个地方,所有客户端再次需要这些资源时可以直接从本地加载即可,不用再发送请求到server端了,所以速度非常快。