请求方法是请求行中的第一个单词,它指明了客户端想要对资源执行的操作。HTTP 0.9只有GET
一个方法,HTTP 1.0添加了POST
方法和HEAD
方法,而HTTP 1.1则添加了PUT
、DELETE
、OPTIONS
、TRACE
和CONNECT
这5个方法,并允许开发者自行添加更多方法——很多人立即就把这个功能付诸实践了。
关于请求方法的一个有趣之处在于,HTTP 1.1要求必须实现的只有GET
方法和HEAD
方法,而其他方法的实现则是可选的,甚至连POST
方法也是可选的。
各个HTTP方法的作用说明如下。
- GET——命令服务器返回指定的资源。
- HEAD——与GET方法的作用类似,唯一的不同在于这个方法不要求服务器返回报文的主体。这个方法通常用于在不获取报文主体的情况下,取得响应的首部。
- POST——命令服务器将报文主体中的数据传递给URI指定的资源,至于服务器具体会对这些数据执行什么动作则取决于服务器本身。
- PUT——命令服务器将报文主体中的数据设置为URI指定的资源。如果URI指定的位置上已经有数据存在,那么使用报文主体中的数据去代替已有的数据。如果资源尚未存在,那么在URI指定的位置上新创建一个资源。
- DELETE——命令服务器删除URI指定的资源。
- TRACE——命令服务器返回请求本身。通过这个方法,客户端可以知道介于它和服务器之间的其他服务器是如何处理请求的。
- OPTIONS——命令服务器返回它支持的HTTP方法列表。
- CONNECT——命令服务器与客户端建立一个网络连接。这个方法通常用于设置SSL隧道以开启HTTPS功能。
- PATCH——命令服务器使用报文主体中的数据对URI指定的资源进行修改。