views:

63

answers:

6

The question may sound a bit naive or stupid, but i was wondering...will POST and GET evolve someday? What other methods exist besides those two?
I was wondering specifically about server-pushes... why can't exist a method specifically for that? I don't even know if there's already something similar, and if there is, i apologize for my ignorance.
The web is evolving, that's evident...will methods formally evolve too?

A: 

What other methods exist besides those two?

PUT and DELETE.

Developer Art
And HEAD and CONNECT. Plus a whole cluster for [WebDAV](http://en.wikipedia.org/wiki/WebDAV).
Donal Fellows
And OPTIONS (which is having a resurgence thanks to CORS) and PATCH and... http://en.wikipedia.org/wiki/Http#Request_methods
T.J. Crowder
A: 

The web is evolving, that's evident...will methods formally evolve too?

Web has to take everything it needs to evolve, and certainly these methods should also evolve along with the web when this happens.

More Information on form methods at W3C

Sarfraz
+1  A: 

Don't forget HEAD, OPTIONS, TRACE, OPTIONS, CONNECT, and PATCH!

Wiki link

Steven Schlansker
+2  A: 

What other methods exist besides those two?

From RFC2616 (HTTP/1.1): OPTIONS, HEAD, PUT, DELETE, TRACE,CONNECT.

I was wondering specifically about server-pushes... why can't exist a method specifically for that?

Google is experimenting with a protocol called SPDY that implements server push, among other things. They don't use a HTTP verb, though, probably because these verbs are sent from the client to the server. Instead, they use a header, which is sent from the server to the client.

Thomas
+1  A: 

I was wondering specifically about server-pushes... why can't exist a method specifically for that?

Mainly because the HTTP verb (GET, POST, PUT, DELETE, HEAD, CONNECT, OPTIONS, TRACE, all the ones for WebDAV, ...) is something that the client tells the server at the start of the connection. In general, the server can't push back because the client is typically behind one or more strict firewalls. The closest approximation is for the server to take a long time to serve up the data for a particular URL, and for the client to be using some javascript to hide all the disconnects and reconnects.

Donal Fellows
+1  A: 

There are a number of methods already defined by the HTTP 1.1 specification:

GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE and CONNECT (reserved)

In addition, there is a proposal to add a PATCH method to the specification. And some protocols even define their own custom HTTP methods; for example OData defines the MERGE method to avoid overloading the meaning of PUT.

So yes, it looks like the HTTP methods are already evolving from the original specification.

Greg Beech