RESTfull 下请求方法的幂等性
概念阐述
一个 HTTP 方法是幂等的,指的是同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的。换句话说就是,幂等方法不应该具有副作用(统计用途除外)。所有的 safe 方法也都是幂等的。
幂等性只与后端服务器的实际状态有关,而每一次请求接收到的状态码不一定相同。需要注意的是,服务器不一定会确保请求方法的幂等性,有些应用可能会错误地打破幂等性约束。
Safe(安全)
如果说一个 HTTP 方法是安全
的,是指这是个不会修改服务器的数据的方法。也就是说,这是一个对服务器只读操作的方法。这些方法是安全的:GET
,HEAD
和 OPTIONS
。所有安全的方法都是idempotent的,但并非所有幂等方法都是安全的,例如,PUT
和 DELETE
都是幂等的,但不是安全的。