哪个浏览器完全支持REST。 意味着Get,Post,PUT和DELETE方法?

哪个浏览器完全支持REST? 意味着Get,Post,PUT和DELETE方法?

我理解了用于理解PUT和DELETE的rails方式是“_method”隐藏变量之类的

-- form content --

方法= “PUT”?

还是我错了?

在许多REST框架中,可以通过所谓的“重载POST”来实现从浏览器调用HTTP PUT或DELETE操作。 这意味着您将请求从浏览器作为POST请求提交给服务器,并在URL中附加一些信息,指定应该使用的实际HTTP方法。

我知道Java的Restlet框架遵循这种方法,我相信Rails也是如此。

因此,如果您有一个定义如下的REST API:

  • POST - http://myservice/myobject – >创建一个新对象并返回对象id
  • GET - http://myservice/myobject/id – >返回对象
  • PUT - http://myservice/myobject/id – >更新对象
  • DELETE - http://myservice/myobject/id – >删除对象

使用浏览器中的重载POST也可以

  • POST - http://myservice/myobject/id?method=PUT – >更新对象
  • POST - http://myservice/myobject/id?method=DELETE – >删除对象

事实上,对于不支持PUT或DELETE的Flex,这是调用这些REST操作的唯一方法。

这个问题几乎和这个问题一样: PUT,DELETE,HEAD等方法在大多数Web浏览器中都可用吗? ,看到那里有一个很好的答案。

此外,“GET,POST,PUT和DELETE”不是“REST”。 所有四种方法都是HTTP规范中的不同方法,REST是一种使用这四种方式的架构风格。

PUT和DELETE只是规范,并不是由任何浏览器和Web服务器实现的。

因此,如果您要发送请求,请不要设计支持PUT或DELETE的RESTful Web服务。