Several years ago Mark Nottingham (then at Yahoo!) gave a presentation on the status of HTTP and (at that time) on going work to advance it. Well since then the Web has evolved, HTTP has been used in more situation for which it was not considered originally, and Mark has moved to Rackspace. With the evolution of HTML5 and beyond, as well WebSockets, it seems that HTTP may need to change even further. In a recent blog entry, Mark discusses what is next on the roadmap for the protocol that runs the Web. Mark was at the HTTPbis Working Group meeting, so can speak with some authority. For a start, efforts to further clarify HTTP/1.1 are almost complete:
People were reading things into [RFC2616] which were an artefact of how it was written, rather than the deeper truth they thought had been carefully recorded. I found myself answering a lot of questions of interpretation of the spec, and realised (along with many others) that we needed to open the box back up and write it down much more carefully. Now we’re almost finished that work; the sections on Conditional Requests, Range Requests, Caching and Authentication are in Working Group Last Call, and the editors expect to have the remaining sections join them soon.
According to Mark, early feedback on these updates looks promising and developers are already reaping the benefits:
[...] cache implementers tell me that the re-write of part six has greatly simplified their task, and several other clarifications have had impact on browsers and other implementations.
Completion of this much needed update to the HTTP/1.1 specification appears to be in sight, with the editors working on the final re-writes. But what about beyond HTTP/1.1? Well as Mark points out, the working group was not chartered originally to work on new things. However, the world has changed a lot in the last few years and HTTP must evolve. In 2009 just after the initial SPDY release, Mark had this to say about it:
In other words, [Google] seem to be positioning this as input to the eventual design of HTTP/2.0
When Mike Belshe (SPDY inventor) presented SPDY to the working group, there was a lot of interest. There has also been a lot of adoption of this protocol beyond its original deployment environment, such as Jetty, Netty, and Amazon. Mark's own thoughts on the issues around HTTP and the impact this might have on the Working Group were also documented several years previously:
[...] when we started HTTPbis a couple of years ago, there was a strong sentiment against creating a new protocol, both because of the can of worms it would open, and because of deployment problems in doing so. However, I’ve recently heard many people complaining about the limitations of HTTP over TCP, and it seems that one way or another, we’re going to start tackling that problem soon.
So with this and the adoption of SPDY, it was inevitable that the charter of the existing group would probably have to change to incorporate some HTTP/2.0 work. Therefore, at this latest meeting the discussions began on updates to the charter. However, rather than just adopting SPDY, the group will talk through the requirements that lead to its creation and ensure that whatever the group does in this area it is for the benefit of the whole Web. As Mark summarises, the group has a lot of work on their hands in the coming months and years:
We also had presentations from not just SPDY, but also three other proposals; Microsoft’s S+M, the requirements of a loose coalition of intermediary implementers, and finally an overview of Waka from Roy Fielding.
It appears that most of the participants are approaching HTTP/2.0 with open minds and not trying to force existing solutions into the standards process unchanged. So at this stage what exactly HTTP/2.0 looks like is unknown. All that we can say for sure is that there will be a significant update to the Web's protocol and it is likely to come sooner rather than later.