如何区分轻松掌握的POST和PUT请求操作?
摘要:有的文档说,HTTP 协议的 PUT 方法用于新建资源,POST 方法用于修改资源;另一些文档说,应该反过来做。其实这两种说法都不完全对。 POST 用来创建给定URL的子资源 譬如我们在food下创建一个苹果: POST food b
有的文档说,HTTP 协议的 PUT 方法用于新建资源,POST 方法用于修改资源;另一些文档说,应该反过来做。其实这两种说法都不完全对。
POST 用来创建给定URL的子资源
譬如我们在/food下创建一个苹果:
POST /food
body:
创建完成后,可以通过访问/food/apple来得到苹果的相关信息(数量、重量)。
PUT 用来创建/更新给定URL对应的资源
如果已经明确知道资源(苹果)的 URI:/food/apple,使用PUT来创建/替换 URI 对应的资源:
PUT /food/apple
body:
PUT 用于替换 URI 对应的资源时,它的操作具有幂等性
当创建资源成功后,POST 应该返回 201(Created) ,PUT 则必须返回 201
引用
rfc2616-sec9.html#sec9.5
