HTTP 协议系列(一)|版本
当我们在浏览器的地址栏输入URL后,信息会被发送到WEB服务器,服务器得到响应,将数据传输回来,展示到WEB页面上,这其中的传输方法就是HTTP协议。
一、HTTP 0.9
发布于1991年,是首个HTTP版本,功能简单。1
2
3
41. 只支持GET请求方法,服务器响应返回的数据格式为,HTML格式的字符串
GET / index.html
2. 不支持请求头,所以内容格式只能是纯文本
3. 无状态性,请求响应后关闭,若有错误,不返回错误码
二、HTTP 1.0
发布于1996年5月,HTTP协议的第二个版本,第一个在通讯中指定版本号的HTTP协议版本,至今仍被广泛采用。相对于HTTP 0.9 增加了如下主要特性:1
2
3
4
51. 任何格式的内容都可以发送。这使得互联网不仅可以传输文字,还能传输图像、视频、二进制文件。这为互联网的大发展奠定了基础。
2. 除了GET命令,还引入了POST命令和HEAD命令,丰富了浏览器与服务器的互动手段。
3. HTTP请求和回应的格式也变了。除了数据部分,每次通信都必须包括头信息(HTTP header),用来描述一些元数据。
4. 支持长连接(但默认还是使用短连接),缓存机制,以及身份认证。
5. 其他的新增功能还包括状态码(status code)、多字符集支持、多部分发送(multi-part type)、权限(authorization)、缓存(cache)、内容编码(content encoding)等。
1 | GET / HTTP/1.0 |
三、HTTP 1.1
1997年1月,HTTP/1.1 版本发布,只比 1.0 版本晚了半年。它进一步完善了 HTTP 协议,一直用到了20年后的今天,直到现在还是最流行的版本。
1 | 1. 持久连接。 |
四、HTTP 2
2015年,HTTP/2 发布。它不叫 HTTP/2.0,是因为标准委员会不打算再发布子版本了,下一个新版本将是 HTTP/3。1
2
3
41. 二进制协议
3. 数据流,可以取消请求在不中断TCP连接的情况下,继续被其它请求使用。
4. 头信息压缩
5. websoket全双工通信,可实现服务器推送等。
参考链接
- HTTP 协议入门-阮一峰
- HTTP协议的前世今生——各版本HTTP协议对比
- [图解HTTP协议-上野宣]