哪个浏览器完全支持REST。 意味着Get,Post,PUT和DELETE方法?
哪个浏览器完全支持REST? 意味着Get,Post,PUT和DELETE方法?
我理解了用于理解PUT和DELETE的rails方式是“_method”隐藏变量之类的
方法= “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服务。