Twitter已经弃用使用使用DELETE的请求方法的所有方法,为什么Twitter会在其API中不再使用DELETE作为请求方法?
DELETE :user/lists/:id
现在改为使用POST作为请求方法,
POST lists/destroy
为什么Twitter的使用DELETE在已停止他们的API完全,现在只能使用POST和GET的所有方法?
- 是表现吗?
- 安全吗?
- 建立仅使用POST和GET的API的 的优点是什么?
Twitter已经弃用使用使用DELETE的请求方法的所有方法,为什么Twitter会在其API中不再使用DELETE作为请求方法?
DELETE :user/lists/:id
现在改为使用POST作为请求方法,
POST lists/destroy
为什么Twitter的使用DELETE在已停止他们的API完全,现在只能使用POST和GET的所有方法?
我认为有一些客户端能够发出DELETE
请求的兼容性问题。回顾一下docs的一个不赞成的电话,我发现了这个blurb。
使用说明:客户谁不能发出
DELETE
请求可以POST
与 所添加的参数_method=DELETE
所以,我的感觉(你猜)是因为DELETE
动词不是均匀支持,它在系统范围内被删除。
更新:我在微博发出了鸣叫泰勒(@episod),问他有什么想法上面,他送了以下对策:
@arcain [答案]几乎涵盖了它;没有不敬意的田园诗REST。 DELETE仍然通常适用于这些方法,但我们从文档中省略。 [link]
@arcain尽管这里提到的大多数方法并没有被弃用,但由于HTTP方法的原因,因为笨拙的URL模式而不推荐使用 。 [link]
因此,可用性 - 以及兼容性 - 似乎一直是关于弃用的关键问题。
模糊猜测:post/get是网络的基石,最有可能通过内容感知防火墙,而删除可能不会。 – 2012-01-12 19:38:10
@MarcB虽然它的确有意义,但它却违背了RESTful API设计的全部观点,它使用几种'其他'HTTP方法(DELETE,PUT,HEAD等)作为API'协议'的一部分。 – 2012-01-12 19:54:45
@JamesBeith我注意到你回复了你的问题编辑,只是包括一个签名。不鼓励签名,两个删除它的修改都是有效的,请阅读[faq](http://stackoverflow.com/faq#signatures)。如果你愿意,你可以在你的个人资料页面上添加你的twitter句柄。 – yannis 2012-01-16 16:09:19