Which browser support REST completely? Means Get,Post,PUT and DELETE method?
I understood the rails way to understand PUT and DELETE is \"_method\" hidden variable
In many REST frameworks calling the HTTP PUT or DELETE operations from a browser can be achieved through what is known as an "Overloaded POST". What this means is you submit the request from the browser to the server as a POST request with some information appended to the URL specifying the actual HTTP method that should be used.
I know that the Restlet framework for Java follows this approach and I believe Rails does as well.
So if you have a REST API defineed like this:
POST - http://myservice/myobject
-> creates a new object and
returns the object id GET - http://myservice/myobject/id
->
returns the object PUT - http://myservice/myobject/id
->
updates the object DELETE - http://myservice/myobject/id
->
deletes the objectusing Overloaded POST from the browser you could also
POST - http://myservice/myobject/id?method=PUT
-> updates the objectPOST - http://myservice/myobject/id?method=DELETE
-> deletes the objectIn fact, for Flex which does not support PUT or DELETE, this is the only way to call these REST operations.
PUT and DELETE are just specifications, and are not implemented by any browser and web server.
So donot design RESTful web service with support for PUT or DELETE if you are sending request.
This question is almost the same as this one: Are the PUT, DELETE, HEAD, etc methods available in most web browsers?, see there for a great answer.
Also, "GET, POST, PUT and DELETE" is not "REST". All four are different methods in the HTTP specification, REST is an architectural style that uses those four.