POST和DELETE之间的区别,如果我们也可以使用POST删除数据/值

时间:2017-03-14 07:39:58

标签: php http

我们可以从数据库中删除一个值,如果该值是使用POST发送到另一个页面然后触发删除查询,那么POST和DELETE在这种情况下有什么区别?

1 个答案:

答案 0 :(得分:0)

POST和DELETE之间的最大区别是“语义”。在RESTful的观点中,动词对于特定的HTTP操作应该是精确的。在您的情况下,甚至可以使用GET请求来删除DB中的内容,但这显然是无稽之谈。要删除DB中的内容,DELETE肯定是更好的选择。

但是,有两种特殊情况(可能更多)你必须使用POST而不是DELETE:

  1. DELETE请求的实体主体将被忽略(Is an entity body allowed for an HTTP DELETE request?),这意味着如果要删除具有复杂请求参数的内容,最好使用POST。当然,“使用复杂参数删除”并不是一个好的设计,但有时会发生。
  2. 某些客户端技术不支持DELETE(例如,Flex仅支持GET和POST)。在这种情况下,POST是唯一的选择。