PUT方法如何幂等但不安全?有人可以解释吗?
HTTP Method Idempotent Safe
OPTIONS yes yes
GET yes yes
HEAD yes yes
PUT yes no
POST no no
DELETE yes no
PATCH no no
答案 0 :(得分:2)
Safe method不会在内部更改(资源)
安全方法是可以缓存,预取而不会对资源造成任何影响的方法。
Idempotent method不会从外部更改(响应)
幂等HTTP方法是可以多次调用而没有不同结果的HTTP方法。
答案 1 :(得分:1)
全部在规范中:
4.2.2。幂等方法
如果请求方法具有预期效果,则认为该方法是“幂等的” 使用该方法的多个相同请求的服务器相同 作为单个此类请求的效果。的请求方法 由本规范,PUT,DELETE和安全请求方法定义 是幂等的。
就像保险柜的定义一样,幂等属性仅适用于 用户的要求;服务器可以自由登录 单独请求,保留修订控制历史记录或实施 每个幂等请求的其他非幂等副作用。
全能方法之所以能够被区分,是因为请求可以 如果在通信之前发生通信故障,则自动重复 客户端能够读取服务器的响应。例如,如果一个客户 发送一个PUT请求,并且在任何 收到响应,然后客户端可以建立新连接 然后重试幂等请求。它知道重复请求 即使原始请求也将具有相同的预期效果 成功,尽管响应可能有所不同。
(https://greenbytes.de/tech/webdav/rfc7231.html#idempotent.methods)