HTTP/1.1 定义的请求方法
请求方法 | 说明 |
---|---|
OPTIONS | 用于请求获得由URL标识的资源,在请求/响应的通信过程中可以使用的功能选项。通过这个方法,客户端可以在采取具体资源请求前,决定对该资源采取何种必要的措施,或者了解服务器的性能。 |
GET | 用于获取请求页面的指定消息(以实体的格式)。如果请求资源为动态脚本(除HTML),那么返回文本是web容器解析后的HTML源代码,而不是源文件。 |
POST | 与GET请求方法类似,但最大的区别就在于GET请求方法没有请求内容,而POST请求方法是有请求内容的。POST多用于向服务器发送大量数据。GET方法虽然也能发送数据,但是有大小(长度)的限制,并且GET方法会将发送的数据显示在浏览器端,而POST方法则不会,所以安全性相对更高,如上传文件、提交留言等,只要是向服务器传输大量的数据,通常会使用POST方法(登录也是POST方法)。 |
HEAD | 除服务器不能在响应里返回消息主体外,其他都与GET请求方法相同。他经常被用来测试超文本链接的有效性、可访问性和最近的改变。攻击者编写扫描工具时,就常用此方法,因为他只测试资源是否存在,而不是返回消息主体,所以处理的速度更快。 |
DELETE | 用于请求服务器删除请求的指定资源。服务器一般会关闭此方法,这是因为客户端可以进行删除文件的操作,属于危险方法。 |
TRACE | 被用于激发一个远程应用层的请求消息回路,即回显服务器收到的请求。他允许客户端了解数据被请求链的另一端接收的情况,并且利用这些数据信息进行测试或诊断,但此方法很少使用。 |
PUT | 用于将数据发送到服务器以创建或者更新资源,可以用上传的内容替换目标资源中的所有当前内容。它将包含的元素放在所提供的的URI(统一资源标识符)下,如果URI指示的是当前资源,则会被改变;如果URI未指示当前资源,则服务器可以使用该URI创建资源。属于危险方法,一旦开启,就会允许任意人员向服务器上传文件。 |
CONNECT | 用来建立给定的URI的服务器隧道。他通过简单的TCP/IP隧道更改请求连接,通常使用解码的HTTP代理来进行SSL编码的通信(HTTPS)。 |
除此之外还有七种请求方法
请求方法 | 说明 |
---|---|
PATCH | HTTP的RFC 2616原本定义用于上传数据的方法只有POST和PUT,但是考虑到两者的不足,增加了该方法。它是对PUT方法的补充,用来对已知资源进行局部更新。 |
MOVE | 请求服务器将指定的页面移至另一个网络地址,属于危险方法。 |
COPY | 请求服务器将指定的页面复制至另一个网络地址,属于危险方法。 |
LINK | 请求服务器建立链接关系。 |
UNLINK | 断开链接关系。 |
WRAPPED | 允许客户端发送经过封装的请求。 |
Extension-method | 在不改动协议的前提下,可增加另外的方法。 |