« 愤怒 | 首页 | 都靈 »
在 理解RESTful架构 留言:
引用Linyang的发言: 没错,你是可以把post /users/1 实现为幂等的。但是通用客户端,比如浏览器,没有这样的预先假设。当post 操作异常时,比如超时,服务器503等等,浏览器是不能自动重试post操作的。这样你的幂等的 post /users/1 并没有给你带来太多的好处,除非你的客户端都是定制客户端 REST确实不是技术标准,但是HTTP是标准。
引用Linyang的发言:
2011-09-28 15:30:41
引用阮一峰的发言: PUT是幂等方法,POST不是。所以PUT用于更新、POST用于新增比较合适。
引用阮一峰的发言:
2011-09-27 14:03:33
留言(2 条)
在 理解RESTful架构 留言:
HTTP标准没有真正得到落实
现在其实处于一个“尴尬”的状况,一方面REST已经从理论上提供了解决方向,另外一方面是实际环境其实还没有提供足够多的REST支持。
比如通过ajax,大多数(?)浏览器可以发出原生的PUT/DELETE方法,不使用ajax,
2011-09-28 15:30:41
在 理解RESTful架构 留言:
具体的程序逻辑里面,完全可以把POST动作实现为幂等操作,比如POST /user 创建新用户,POST /user/1 修改id为1的用户信息,无论POST /user/1多少次,都是对id为1的用户进行修改(幂等)。
真正的理由是,REST仅仅是一种架构风格的指导规范,并非具体技术实现。因此用POST新建,PUT修改仅仅是具体实施过程中的约定。就像代码需要合理的缩进一样,虽然不缩进,程序也能执行(python除外),但安装这个约定去做,事情可以做得更漂亮点。
我也看到过其它的REST文章建议说POST修改,PUT新建,我更倾向于POST新建,PUT修改。
2011-09-27 14:03:33