HTTP请求方法的基本认识
HTTP请求方法一览:
方法 | 定义 | 用法 |
---|---|---|
GET | GET方法请求一个指定资源的表示形式,使用GET的请求应该只被用于获取数据 | 常用于请求并获取指定的服务器资源 |
POST | POST方法用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用 | 常用于表单向服务器提交隐私性数据,比如用户登录信息 |
HEAD | HEAD方法请求一个与GET请求的响应相同的响应,但没有响应体 | 无响应数据,能获取响应头信息,常用于测试服务器性能 |
PUT | 从客户端向服务器传送的数据取代指定的文档的内容 | 发送数据到服务器创建/更新指定资源 |
DELETE | 删除指定的服务器资源 | 删除指定的服务器资源 |
CONNECT | HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器 | 常用于SSL加密服务器的链接与非加密的HTTP代理服务器的通信 |
OPTIONS | OPTIONS请求与HEAD类似,一般也是用于客户端查看服务器的性能 | 请求服务器返回指定资源所支持的所有HTTP请求方法 |
TRACE | 回显服务器收到的请求,主要用于测试或诊 | 用于HTTP请求的测试或诊断 |
注意:
- GET 可提交的数据量受到URL长度的限制,HTTP 协议规范没有对 URL 长度进行限制。这个限制是特定的浏览器及服务器对它的限制。
- 理论上讲,POST 是没有大小限制的,HTTP 协议规范也没有进行大小限制,出于安全考虑,服务器软件在实现时会做一定限制。
HTTP发展历程:
- HTTP/0.9
这是HTTP最早大规模使用的版,现已过时。在这个版本中 只有GET一种请求方法,在HTTP通讯也没有指定版本号,也不支持请求头信息。该版本不支持POST等方法,因此客户端向服务器传递信息的能力非常有限。 - HTTP/1.0
这个版本是第一个在HTTP通讯中指定版本号的协议版本,HTTP/1.0至今仍被广泛采用,特别是在代理服务器中。HTTP/1.0支持:GET、POST、HEAD三种HTTP请求方法。 - HTTP/1.1
HTTP/1.1是当前正在使用的版本。该版本默认采用持久连接,并能很好地配合代理服务器工作。还支持以管道方式同时发送多个请求,以便降低线路负载,提高传输速度。HTTP/1.1新增了:OPTIONS、PUT、DELETE、TRACE、CONNECT五种HTTP请求方法。 - HTTP/2.0
这个版本是最新发布的版本,于今年5月(2015年5月)做HTTP标准正式发布。HTTP/2通过支持请求与相应的多路重用来减少延迟,通过压缩HTTP头字段将协议开销降到最低,同时增加了对请求优先级和服务器端推送的支持。