HTTP“DELETE”请求在Elastic Beanstalk上挂起

时间:2013-10-15 14:33:23

标签: elastic-beanstalk

我第一次部署到AWS,并且遇到了一种非常奇怪的行为。我使用AngularJS,并且有一个函数使用指定的DELETE方法执行$ http服务调用。

var fn = function () {
    $http({ method: "DELETE", url: "/active/route/"})
...

当我执行它时,请求会挂起一段时间并被拒绝。

我已将fn更改为

function () {
    $http({ method: "POST", url: "/active/route/delete"})
 ...

它运作得很好。

我想知道beanstalk是否有关于某些HTTP方法的特定策略或导致此行为的原因?

1 个答案:

答案 0 :(得分:0)

我知道这已经相当不活跃了一段时间,但我弄清楚我的情况发生了什么,并认为我会在这里发布给其他需要它的人。如果您发送包含请求正文的请求,基本上http DELETE方法不会很好。纯RESTful服务应该使用URI来传回对象ID并形成,而不是在请求体中形成数据。当数据通过请求主体传递时,一些Web服务器会将其作为POST方法读取,这会对您的API造成严重破坏。

在我的情况下,我在URI中传递了对象id,并且作为我的架构的副作用,在请求体中传递。除DELETE外,所有情况下都可以正常工作。为了解决这个问题,我只是删除了不必要的请求主体和中提琴!

希望这有助于某人。

有关更多详细信息,请参阅此帖子:

http://www.spenceruresk.com/2011/11/http-delete-requests-that-include-a-body/