HTTP 请求方法
分类
在 Restful
风格中,对 http 请求进行了分类,对于每种请求具体场景做了要求
-
HTTP1.0 定义了三种请求方法: GET 、POST 、 HEAD方法
-
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 、 CONNECT 方法
安全性和幂等性
安全性,仅指该方法的多次调用不会产生副作用,不涉及传统意义上的“安全”,这里的副作用是指资源状态。即,安全的方法不会修改资源状态,尽管多次调用的返回值可能不一样(被其他非安全方法修改过)。
幂等性,是指该方法多次调用返回的效果(形式)一致,客户端可以重复调用并且期望同样的结果。
具体的区别
方法 | 描述 | 安全性 |
---|---|---|
GET | 获取资源 | 安全;幂等 |
HEAD | 用于获取头部信息((content-type、content-length)),和 get 一样,只是不返回 body | 安全;幂等 |
POST | 用于创建子资源 | 非安全;非幂等 |
PUT | 创建更新资源 | 非安全;幂等 |
DELETE | 删除资源 | 非安全;幂等 |
PATCH | 用于部分更新,和 put 有点类似 | 非安全;幂等 |