Google is working on an experimental protocol called SPDY (pronounced "speedy") that supposedly makes the web twice as fast.
The problems with HTTP that SPDY tries to address are:
- only a single request per connection (barring persistent connections)
- the server cannot initiate a connection
- headers are always uncompressed (N.B. cookies are sent in the header)
- in a persistent connection, all headers are resent for each request
- data is not always compressed
- everything is in clear text
SPDY addresses these issues by:
- allowing unlimited and interleaved requests through a single connection
- prioritizing requests (controlled by the client only)
- compressing headers
- allowing the server to push resources to the client without the client's asking (e.g. you're going to want the CSS file anyway)
- allowing the server to suggest in the header what other resources the client might want to request (so no need to wait for the HTML to be parsed before knowing)
- always using SSL
Google claim to have built a web server and modified Chrome browser that support this protocol and achieve 50% less time for page loads.
I think that the server push would be the killer feature. If a client will keep the connection open as long as the user is on that web site, developing web applications become much easier. It means that polling the server with AJAX requests is no longer necessary; theoretically, the server can just push new data to you when it becomes available. And when a client connection terminates, you know that the client has closed the web site (application).
Of course, if SPDY ever makes it to market, HTTP will still stick around for a long time. But it seems that both protocols are happy to live side by side. I would say it takes at least five years until a significant portion of the web will be available from spdy:// URLs.
So, the web twice as fast! Easier webapp development! More security! It sounds too good to be true. But is it really going to happen? Do you see any drawbacks?