为什么Twitter不赞成在API中使用DELETE作为请求方法?

为什么Twitter不赞成在API中使用DELETE作为请求方法?,api,twitter,httprequest,Api,Twitter,Httprequest,Twitter不赞成使用所有使用DELETE作为请求方法的方法 DELETE :user/lists/:id 现在使用POST作为请求方法 POST lists/destroy 为什么Twitter已经完全停止在API中使用DELETE,而现在只对所有方法使用POST和GET 是表演吗 是保安吗 它的优点是什么 构建一个只使用POST和GET的API 我认为一些客户端能够发出删除请求时存在兼容性问题。回顾其中一个不推荐使用的电话,我发现了这个广告 用法说明:无法发出DELETE请求的客

Twitter不赞成使用所有使用DELETE作为请求方法的方法

DELETE :user/lists/:id  
现在使用POST作为请求方法

POST lists/destroy
为什么Twitter已经完全停止在API中使用DELETE,而现在只对所有方法使用POST和GET

  • 是表演吗
  • 是保安吗
  • 它的优点是什么 构建一个只使用POST和GET的API

我认为一些客户端能够发出
删除
请求时存在兼容性问题。回顾其中一个不推荐使用的电话,我发现了这个广告

用法说明:无法发出
DELETE
请求的客户可以使用
POST
添加的参数
\u method=DELETE

因此,我的感觉(和猜测)是,由于
DELETE
动词没有得到统一的支持,所以它在系统范围内被删除了


更新:我在推特上给泰勒()发了一条推特,询问他对上述内容的看法,他给出了以下回复:

@arcain[答案]几乎涵盖了这一点;没有不尊重的意图田园诗般的休息。 DELETE通常仍然适用于这些方法,但我们在文档中省略了它。[]

@虽然这里提到的大多数方法都没有被弃用 因为HTTP方法和笨拙的URL模式。[]


因此,可用性——以及兼容性——似乎一直是这些反对意见的主要关注点。

模糊猜测:post/get是web的基石,最有可能通过内容感知防火墙,而delete可能不会。@MarcB虽然它有意义,但它破坏了RESTful API设计的全部要点,它使用了几种“其他”HTTP方法(DELETE、PUT、HEAD等)作为API“协议”的一部分。@JamesBeith我注意到您恢复了对问题的编辑,只是为了包含一个签名。不鼓励签名,删除它的两个编辑都是有效的,请阅读。如果你愿意,你可以在你的个人资料页面上添加你的twitter句柄。你已经在上问过了(在那里人们会知道这个问题的答案)。我不确定你会在这里得到什么,除了猜测,除非一个开发人员在这里插话。在Stack Exchange网络上不欢迎称呼、签名和标语,请不要使用它们。请看:和。谢谢