After more than a decade in the works, HTTP, one of the most important specifications of the Internet, got a new version, HTTP/2. The new version brings several benefits to make the Web faster, including cheaper requests via multiplexing messages on a connection at the same time, header compression, and reducing server and network load. Mark Nottingham, chairman of the IETF HTTP Working Group, has written "Nine Things to Expect from HTTP/2," which gives a good, detailed explanation of what the new standard brings to the table for both client and server Web technologies.
The browser vendors have been quick off the blocks in their support for HTTP/2. Chrome and Firefox already support HTTP/2, and other browser vendors should follow suit. On the server side, it could take time before support is officially announced for HTTP/2 across popular server software like Apache and Nginx.
Google has pushed the envelope here by allowing server-side developers to start implementing support for the HTTP/2 standard today. It has released gRPC, an open source HTTP/2 framework for handling remote procedure calls that allows developers to create services that support the HTTP/2 standard across the popular server-side programming language of their choice. The library is based on Google’s experience of building massive distributed systems and services over the years. The advantages that HTTP/2 can bring to create faster mobile browsing experiences and better battery life on mobile devices, along with its applicability to a wide range of Internet of Things services, place gRPC right in the center of the action that developers can start using today.
The framework is available for a wide variety of languages: C, C++, Java, Go, Node.js, Ruby and Python. Support for Objective-C, C# and PHP is on the way. Keeping with its open source nature, all code is available on GitHub. Check out the documentation and mailing list.
Google worked with Square and other technology partners on the gRPC project. Check out the Square blog post on the gRPC release announcement.
In related news, Google also released Proto 3, a new version of its Protocol Buffers specification that allows a high-performance binary serialization protocol. New features include support for more languages and a canonical mapping of Proto to JSON.