HTTP方法:DELETE VS POST(HTTP methods: DELETE vs POST

2019-08-02 06:45发布

比方说,我有一个名为“会话”的资源。 客户会打电话PUT创建并开始一个新的会话。 当客户端完成会话后,就应该不再是可访问的,但应该坚持历史/问责的原因。

要结束会话,它会更合适发出DELETE请求,这似乎在语义上更接近预期的效果,或者POST,看到的资源实际上不是永久删除?

Answer 1:

这里的问题是:请求幂等 ? 如果执行两次相同的请求,是否有副作用? 当你订购了一篇文章,执行订单请求两次会得到你的文章的两倍等。

在这种情况下, POST是你想要的方法。 如果没有,那么你想要么PUTDELETE

正如你似乎并不被删除会话,只改变其状态, PUT将是一个更好的方法,因为它意味着资源被改变,并不会被删除,这是你的情况的情况。

编辑:

如果资源似乎是从客户端删除, DELETE似乎更为合适。 如何事情在后面实现对客户端没有关系。



Answer 2:

POST请求会更好这里,你不会真正删除该session 。 POST请求通常被用来改变对象的状态。 这是你的情况,我认为。



文章来源: HTTP methods: DELETE vs POST
标签: http