http1.0和http1.1区别
- http1.1的缓存控制策略更多,例如ETag,If-None-Match等可供选择的缓存头,来控制缓存策略
- http1.1的错误状态响应码更多,例如,http1.1中新增了303状态码,在http1.0中使用302重定向,禁止post自动进行重定向,除非用户确认,而303状态码POST请求输出重定向到一个新的资源
- http1.1允许长连接,一个TCP连接上,允许多次http请求和相应,减少了建立和关闭连接的消耗和延迟
- http1.1必须在请求头和响应头上加上Host头域,否则会报错,http1.0并没有这样的要求,因为1.0时默认一个ip地址只有一台主机,但是随着虚拟机的出现,一个ip地址上可以有多台主机,就不唯一了
- http1.1支持range头域,允许请求支援的一部分,减少了宽带浪费现象,例如range设置为bytes=0-100,而实际资源是2048bytes的,那么返回的就是资源的0-100部分,状态码是206
http2.0和http1.X的对比
- http2.0是基于二进制的,而http1.X是基于文本的
- http2.0实现header压缩,减少了传输header的压力
- http2.0可以服务器端推送,例如用户请求一个html页面,服务器端会将页面中的可能用到的js文件推送到客户端,当客户端请求该js文件时,可以直接从缓存中获取
- http2.0支持多路复用,有效地利用通信线路,一个信道同时传输多路信号