1.HTTP 0.9
这是个比较早的HTTP版本,这个HTTP版本的特点:
- 只有一个GET命令;
- 没有Header等描述数据的信息;
- 一旦服务器发送数据完毕,便关闭TCP连接;
- 典型的无状态;
- 服务器通过提供以HTML格式标记的ASCII文本来回复GET,从而只接受没有标签的纯文本,除了HTML标记文本之外,没有任何其他内容来自服务器;
2.HTTP1.0
这个版本的HTTP协议,相对上一个版本:
- 增加了POST、HEAD等命令;
- 增加了status code和Header;
- 多字符集支持、多部分发送、权限、缓存等;
3.HTTP1.1
这个版本的HTTP版本是现在外面比较常用的版本,其相对此前的版本,有如下变化:
- 实现持久连接;
- 发送方将数据分成大小不等的数据片发送,避免过大信息引起的负载;
- 增加了options、put、delete、trace和connect五种请求方法;
- 增加host;
- 请求有数量限制,超过限制会造成阻塞;
- 新增了24个状态相应码;
4.HTTP2.0
- 所有数据实现二进制传输,传输更加方便;(此前是通过字符串形式发送)
- 头部压缩以减少带宽;
- 同一个TCP连接内发送多次请求不再需要按照顺序来,实现并行传输,提高效率;
- 使用服务器推送提高效率,以前数据传输,服务器一直是被动方,以前显示客户端请求html文件后解析所需的css、js文件,然后再次发出请求,有了推送之后,服务器可以在返回html同时,将css和js文件传输给客户端,提高效率;下面引用阮一峰老师博客的图片