HTTP协议下常用的7种请求方法
方法 | 描述 | 是否包含主体 |
---|---|---|
GET | 从服务器获取一份文档 | 否 |
HEAD | 只从服务器获取文档的首部 | 否 |
POST | 向服务器发送带要处理的数据 | 是 |
PUT | 将请求的主体部分存储在服务器上 | 是 |
TRACE | 对可能经过代理服务器传送到服务器上去的报文进行追踪 | 否 |
OPTIONS | 决定可以在服务器上执行哪些方法 | 否 |
DELETE | 从服务器上删除一份文档 | 否 |
具体描述:
GET
GET是最常用的方法。通常用千请求服务器发送某个资源。HTTP/1.1要求服务器实现此方法。
HEAD
HEAD方法与GET方法的行为很类似, 但服务器在响应中只返回首部。不会返回实体的主体部分。这就允许客户端在未获取实际资源的情况下, 对资源的首部进行检查。使用HEAD, 可以:
• 在不获取资源的情况下了解资源的情况(比如, 判断其类型) 1
• 通过查看响应中的状态码, 看看某个对象是否存在,
• 通过查涽首部, 测试资源是否被修改了。
服务器开发者必须确保返回的首部与GET请求所返回的首部完全相同。遵循HTTP/1.1规范, 就必须实现HEAD方法。
PUT
与GET从服务器读取文档相反,PUT方法会向服务器写入文档。有些发布系统允许用户创建Web页面, 并用PUT直接将其安装到Web服务器上去。
PUT方法的语义就是让服务器用请求的主体部分来创建一个由所请求的URL命名的新文档, 或者, 如果那个URL已经存在的话, 就用这个主体来替代它。因为PUT允许用户对内容进行修改, 所以很多Web服务器都要求在执行PUT之前, 用密码登录。
3.3.5 POST
POST方法起初是用来向服务器输入数据的。实际上, 通常会用它来支持HTML的表单。
TRACE
TRACE_Method是HTTP(超文本传输)协议定义的一种协议调试方法,该方法会使服务器原样返回任意客户端请求的任何内容。
TRACE和TRACK是用来调试web服务器连接的HTTP方式。支持该方式的服务器存在跨站脚本漏洞,通常在描述各种浏览器缺陷的时候,把"Cross-Site-Tracing"简称为XST。攻击者可以利用此漏洞欺骗合法用户并得到他们的私人信息。(这个命令好怕怕,无知好吓人啊)
OPTIONS
OPTIONS方法诮求Web服务器告知其支持的各种功能。可以询问服务器通常支持哪些方法, 或者对某些特殊资源支持哪些方法。(有些服务器可能只支持对一些特殊
类型的对象使用特定的操作)。这为客户端应用程序提供了一种手段, 使其不用实际访问那些资源就能判定访问各种资源的最优方式。
DELETE
顾名思义,DELETE方法所做的事情就是请服务器删除请求URL所指定的资源。但是, 客户端应用程序无法保证删除操作一定会被执行。因为HTTP规范允许服务器在不通知客户端的情况下撤销请求。

