1.http 0.9 可以忽略,就只是get请求方法。
2.http 1.0 报文分为了header和body部分,支持了get post等请求方法类型,但是默认采用短连接,长连接只是一个拓展项。
3.http 1.1 现在(2020)普遍采用的一个方式, 报文header部分新增字段keep-alive默认true,默认采用长连接。
==〉 解释下长连接,长连接意味着多个http报文可以都使用同一个tcp连接进行数据传输。可以减少tcp连接创建关闭的开销。
==〉 另外同一个域名,tcp连接数是有限制的,比如说google浏览器默认最多是8个,现在每个网站访问后,都是大量的css,js等文件发送,多个tcp连接能提升效率。
4.http 2.0 解决了四个痛点。
4.1.body部分通过二进制压缩方式进行数据传输。
之前都是明文。
4.2.header部分压缩。
之前字段太多。
4.3.服务端可以主动push,比如说一个请求报文可以获得多个响应报文。
之前无法做到。
4.4对于大数据文件,可以通过单连接+帧的形式,也就是意味着打散二进制数据形成多个帧,乱序发送,客户端重组。
之前都必须有序传输和接收,比如说12345,只有3丢失了,但是345重发,且每次都需要检验和检查。