http/0.9
- 只有 get 请求
- 没有 header 描述信息
- 服务器发送完毕,就关闭 TCP 连接
http/1.0
- 增加了请求的方式
- 增加了 status code 和 header
- 多字符集支持、多部分发送、权限、缓存等
http/1.1
- 持久连接(一个 tcp 连接中多次 http 请求)
- pipeline (一个 tcp 中多次请求,在服务端是根据请求的顺序进行内容的返回,上一个请求返回时间长,下一个请求返回值必须等上一个返回之后才会返回)
- 增加 host 和其他的命令
http2
- 所有数据以二进制传输
- 同一个TCP连接里面发送多个请求不再需要按照顺序返回(不需要等上一个请求返回后才返回值)
- 头信息压缩、推送(服务端可以主动发起数据传输)等提高效率