八种标准请求方法
HTTP方法(也被称作HTTP动词)定义了对指定URI所表示的资源所能做出的操作。
HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
GET
GET方法请求指定资源的表示。使用GET的请求应该只检索数据,不应该有其他影响。W3C已经发布了关于这种区别的指导原则,称“Web应用程序设计应该遵循上述原则,但也有相关的限制。”[15]请参阅下面的安全方法。
HEAD
HEAD方法要求响应与GET请求的响应相同,但没有响应主体。这在仅需要检索在响应头中的元信息而无需传输整个内容时非常有用
POST
POST方法请求服务器将请求中包含的实体作为URI标识的Web资源的新下级(就是请求服务器添加新的资源,这个要添加的资源附在请求体中)。
PUT
PUT方法请求将所包含的实体存储在提供的URI下。如果不存在则创建,如果存在则修改。
DELETE
DELETE方法用来删除指定资源
TRACE
回显服务器收到的请求,主要用于测试或诊断。
OPTIONS
OPTIONS 方法返回指定URL所支持的方法。
CONNECT
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
汇总表
HTTP Method | RFC | Request Has Body | Response Has Body | Safe | Idempotent | Cacheable |
---|---|---|---|---|---|---|
GET | RFC 7231 | Optional | Yes | Yes | Yes | Yes |
HEAD | RFC 7231 | No | No | Yes | Yes | Yes |
POST | RFC 7231 | Yes | Yes | No | No | Yes |
PUT | RFC 7231 | Yes | Yes | No | Yes | No |
DELETE | RFC 7231 | No | Yes | No | Yes | No |
CONNECT | RFC 7231 | Yes | Yes | No | No | No |
OPTIONS | RFC 7231 | Optional | Yes | Yes | Yes | No |
TRACE | RFC 7231 | No | Yes | Yes | Yes | No |
PATCH | RFC 5789 | Yes | Yes | No | No | No |