restful 笔记
如何保持可见性?
(a)使用HTTP方法(例如GET,POST,PUT)时,其语义要与HTTP所规定的语义保持一致,并添加适当的标头来描述请求和响应.
(b)使用适当的状态码和状态消息,以便代理,缓存和客户端可以判断请求的结果.状态码是一个整数,状态消息是文本
如何保证安全性和幂等性?
实现GET,OPTIONS 和HEAD 方法时,不要引起任何副作用.当客户端重新提交一个GET,HEAD,OPTIONS,PUT或DELETE请求时,确保服务器提供同样的表述形式,并发情况除外.
把GET,OPTIONS 和HEAD 看做是只读操作
除了POST以外的所有方法都是幂等性
安全性和幂等性均不保证反复请求能拿到相同的response。以 DELETE 为例,第一次DELETE返回200表示删除成功,第二次返回404提示资源不存在,这是允许的。
如何保证DELETE 方法是幂等性?
这意味着就算服务器在前一个请求中已经删除了资源,它也必须返回200 响应码.
但实际上,要把DELETE实现为幂等操作,需要服务器追踪所有已经删除的资源.否则,它可能会返回一个404响应码.
解决方法:
不做物理删除,而只是修改状态而已.
<RESTful Web Services Cookbook.pdf>下载地址:
http://pan.baidu.com/s/1dD4qn6L
参考:http://www.ruanyifeng.com/blog/2014/05/restful_api.html
http://article.gitos.cn/2015/Aurthur/Principles-of-RESTful-API-Design.html?utm_source=tuicool&utm_medium=referral