PUT和DELETE HTTP方法有任何性能优势吗?

时间:2010-10-02 12:20:47

标签: http rest

大多数Web服务器和框架默认支持GET和POST HTTP方法,并且不会促使甚至禁止使用PUT和DELETE方法。我知道使用后者是网站的conceptually more appropriate and e.g. minimizes the URL scheme,但实际上是否涉及任何性能优势(例如更少的请求,更少的处理)?如果是的话,那么对一个例子的简短解释对我来说是完美的。

2 个答案:

答案 0 :(得分:3)

在POST上使用PUT和DELETE确实没有性能优势。此外,使用PUT和DELETE作为RESTful并不是必需的。建议但不是必需的。请参阅this

答案 1 :(得分:2)

区分框架是什么以及REST系统是什么很重要。也就是说,使用Web框架不一定会使系统成为RESTful系统。

那说,这不是关于你使用什么,而是关于你如何使用它。 因此,PUT和DELETE不需要RESTFul,但它们确实代表了一个有趣的决定。

请参阅,当客户端执行DELETE时,它必须知道正在删除的资源。它正在删除完整的资源。如果您有比尔(标题加细节线),并且您希望将完整的比尔代表为一个大资源,则DELETE将无效。你可以用POST修改账单。如果您已经拥有一个名为detail line的资源,并且想要消除它,那么在存在资源的DELETE命令时使用POST可能会违反协议约束。

如果您不会删除任何内容,因为客户端无法控制资源的创建和删除,例如,不使用DELETE变得很自然。