哪个浏览器完全支持REST? 意味着Get,Post,PUT和DELETE方法?
我理解用于理解PUT和DELETE的rails方式是“_method”隐藏变量,如
<form id="form_id" action="" method="PUT" >
-- form content --
</form>
方法= “PUT”?
或者我错了?
答案 0 :(得分:9)
在许多REST框架中,可以通过所谓的“重载POST”来实现从浏览器调用HTTP PUT或DELETE操作。这意味着您将请求从浏览器作为POST请求提交给服务器,并在URL中附加一些信息,指定应该使用的实际HTTP方法。
我知道Java的Restlet框架遵循这种方法,我相信Rails也是如此。
因此,如果您有一个定义如下的REST API:
POST - http://myservice/myobject
- &gt;创建一个新对象和
返回对象id GET - http://myservice/myobject/id
- &gt;
返回对象PUT - http://myservice/myobject/id
- &gt;
更新对象DELETE - http://myservice/myobject/id
- &gt;
删除对象使用浏览器中的重载POST也可以
POST - http://myservice/myobject/id?method=PUT
- &gt;更新对象POST - http://myservice/myobject/id?method=DELETE
- &gt;删除对象事实上,对于不支持PUT或DELETE的Flex,这是调用这些REST操作的唯一方法。
答案 1 :(得分:1)
这个问题几乎与这个问题相同:Are the PUT, DELETE, HEAD, etc methods available in most web browsers?, 看到那里有一个很好的答案。
此外,“GET,POST,PUT和DELETE”不是“REST”。所有四种方法都是HTTP规范中的不同方法,REST是一种使用这四种方式的架构风格。
答案 2 :(得分:-4)
PUT和DELETE只是规范,并不是由任何浏览器和Web服务器实现的。
因此,如果您要发送请求,请不要设计支持PUT或DELETE的RESTful Web服务。