2011/5/27 Daniel-Constantin Mierla miconda@gmail.com:
Looking at HTTP, when they needed file upload, they added put/delete -- they stayed in the same protocol whenever possible. In this ways the infrastructure nodes remain the same, only higher-level applications have to be updated. When they needed asynchronous stuff (e.g., ajax) they found the solution there, not a new spec. In IETF and SIP WGs is different, like a race for new protocols, not re-use of existing ones. Web does now more real-time communication methods better than SIP, because IETF hasn't decided the infrastructure protocol for SIP-related networks. Defining new request method types or headers is not a change of the protocol. This is one of the powerful tools of SIP, IETF seemed to forget that.
Just a comment: Realtime communications in HTTP is, today, a hack as it requires long polling or ugly solutions as Comet (the HTTP 200 body never ends so the server can send "realtime" data over the same 200 response body).
Now IETF is defining WebSocket protocol, which is a bidirectional TCP stream between a browser (WebSocket client mainly implemented in JavaScript) and a server. In this way we get _real_ realtime communication. All the world is waiting for this to become a standard for long time, so private solutions as Flash are not needed anymore in order to implement an ugly chat in a web page.
But WebSocket is a _new_ protocol (even it is uses HTTP request/response for websocket stream establishment). If fact it's the same concept as MSRP but it _can_reuse por 80. Note however that HTTP communications are not end-to-end since a client (webbrowser) just talks to a server, there is no user-to-user communication through HTTP proxies.
Cheers.