@GIDS 09 – Rethinking HTTP
I am at the Great Indian Developer summit 09 at IISC, Bangalore. Today is the Java Track
One interesting session I attended was Re-architecting the Web with HTML 5 Communication
Why are we using http? Or rather, Why are we STILL using http?
Good Question. Because the powers to be decided that you , yes you are doomed to use http forever(?) whenever you want to connect to the internet.
No but really. Why are we still stuck on a half assed protocol such as http. Our backend interaction is not half assed nor is our desktop apps then why oh why is our internet experience be half assed. Why is client server interaction inherently half duplex rather than being full duplex.
One answer comes to mind. Http is half duplex. Why? Because HTTP and the internet was originally thought out to be a good toy for sharing intellectual documents (mainly text) until some one thought of the idea of expanding it and sharing pretty much everything. But somebody forgot to upgrade the protocol :) and this protocol was written way before (1983) I was born so its not me.
Then what is stopping us from upgrading this half assed protocol to something brand new and full assed. :D
Yes you said it. Let it flow , no? Why change it. Don’t fix it if it ain’t broken. Right?
But it is hindering my interaction with the world. Why should I wait to hit the button everytime I want something. Don’t kid me with AJAX. Though it is a sooper sooper way to increase user experience but it is killing the servers with every small request (which is an HTTP Request which is a bloated block of data anyways) and I am inclined to think green here. With every http request I make I am leaving a Carbon Footprint behind me.
So whats the solution? According to the speaker, the solution lies in yet another protocol which paradoxically(in my opinion) sits on HTTP and in future might sit on TCP/IP. They call it WebSockets. Interestingly this protocol was developed as a result of trying to control a toy train using a browser.
Ok. So I stop here. I could not find a link a to the presentation but this blog post by Jacobi is pretty interesting. Google about websockets to know more.