Senior Program Manager, Microsoft Open Technologies, Inc.
On behalf of Microsoft Open Tech, I appreciated the opportunity to host the latest interim HTTP/2.0 meeting for the IETF HTTPbis community at the Microsoft Open Tech offices in Bellevue WA. This was the fourth interim HTTP/2.0 meeting this year and the second meeting where we performed interoperability testing between implementation prototypes. This is notable because HTTP/2.0 was only chartered a year ago following the IETF 84 meetings in Vancouver. In another week, we are returning to Vancouver for IETF 88 – continuing our journey towards a stable standard and the promise of improved performance for the web.
Microsoft Open Tech hosted the HTTP/2.0 interim meeting in Bellevue on 10/9-10/11 with participants from:
- Apple (Remote)
- Orange (Remote)
- University of Washington
The related meeting materials are available here:
Following are a few highlights from the interim meeting which demonstrates the belief in “rough consensus and running code" including insights into our process, the latest on interoperability testing and principles, and an update on Application Layer Protocol Negotiation (ALPN).
Day 1 – Interoperability Testing
Over time, we’ve evolved a standard agenda for the interim meetings. On Day 1, there is one-to-one interoperability testing between the developers of available HTTP/2.0 implementations. It’s an opportunity for everyone to improve the compliance of their implementations and share experiences to improve the quality of the next HTTP/2.0 draft.
Prior to the interim meeting, MS Open Tech published our updated Katana server prototype implementation as well as public HTTP/2.0 endpoints as part of our contribution to the working group effort.
During the meeting, Jeff Mendoza from Microsoft Open Tech worked closely with client developers including Mozilla, Chromium, nghttp2, and http2-iij to successfully demonstrate interoperability with Katana.
Mozilla Nightly client connecting to the Microsoft Open Tech Katana server HTTP/2 public endpoint
By offering the HTTP/2.0 public endpoints with support for both Upgrade and ALPN negotiation, we’ve made it easier for client prototypes to be developed for each implementable draft. Microsoft Open Tech is very appreciative of the feedback from members of the working group and will continue to improve our server prototype and support future implementable drafts.
Day 1 – Test Principles
Currently, there is no formal interoperability testing process. Michelle Lai (Microsoft) published an internet draft on HTTP/2.0 Test principles and then followed up with a presentation at the interim meeting. This led to a breakout session that started discussion about a common test framework based on Node.js that would allow anyone to contribute tests to the suite.
Day 2: Review HTTP/2 issues and new proposals
All HTTP/2.0 issues are openly tracked on GitHub. On Day 2, issues are triaged, assigned to an implementable draft milestone, and passionately discussed. Notes are captured in the issues for later review by the entire HTTPbis working group.
Simple example - we were successful in reaching consensus to define an explicit setting (SETTINGS_ENABLE_PUSH) to Disable Server Push. This setting and other agreements from the design and editorial discussions at the interim meeting are captured in the newly published HTTP/2-07 and Header Compression-04 drafts.
New ideas are also socialized for future consideration. We’re currently reviewing the HTTP Alternate Services internet draft that proposes an alternative to HTTP Upgrade for negotiation for future discussion at IETF 88.
Day 3: And then?
Day 3 is a ½ day session to conclude discussions and plan next steps. We have a clear aspiration – stabilize the protocol by the summer of 2014. To achieve that goal, we’re continuing to meet on a frequent basis and iterate on implementable drafts at a high velocity:
- IETF 88, November 3-8 in Vancouver, BC, Canada
- Proposed 5th interim, January 22-24 2014 in Zurich, Switzerland hosted by Cisco
- IETF 89, March 2-7 2014 in London, England
- Proposed 6th interim before or after IETF 89
Representatives from Microsoft Corporation and Microsoft Open Technologies, Inc. will participate in these meetings and encourage the community to also attend and become more involved in defining the next generation of HTTP at the IETF.
Update on Application Layer Protocol Negotiation (ALPN)
Application Layer Protocol Negotiation (ALPN) has reached consensus in the IETF Transport Layer Security (TLS) working group and has completed the working group last call. Contributors from Microsoft, Cisco, Google and Orange co-authored the final draft which is required to support HTTP/2.0 secure negotiation.
At IETF 88 in November, the HTTPbis working group is scheduled to meet with the TLS working group to review the updated ALPN draft and validate that it meets the requirements.
IETF 88 meetings in Vancouver
“Bow Ties are Cool” (L-R) Will Chan, Hasan Khalil, and Rob Trace at IETF 87 in Berlin
Bow ties are optional, but you really should plan on attending the HTTPbis sessions at IETF 88 in Vancouver - especially if you were unable to attend the HTTP/2.0 interim meeting.