Networking/Archive/http2: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
m (Manuel Bucher moved page Archive/Networking/http2 to Networking/Archive/http2: conform to naming convention of archived content)
 
(31 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Template:Archived}}
HTTP/2 for Firefox is currently under development.
HTTP/2 for Firefox is currently under development.


This page contains a link to the most recent build with internet-draft level support for it. HTTP/2 is not available yet on any of the normal distribution channels (e.g. release, beta, aurora, nightly). Builds here are provided for the purpose of enhancing interop with other implementations and gaining experience with the protocol to inform its standardization - this space will change rapidly.
HTTP/2 draft support is included in routine builds of firefox, enabled by default in firefox 34 and later. <b>To get the most up to date support you should use the nightly channel</b>.


The current implementation is of draft-06 and compression-03.
The current implementation is of draft-14 with compression-09 [august 6 nightly]


It is serial 021 cset 613c073aaeab on try
Firefox will only be implementing HTTP/2 over TLS - and so far that means for https:// schemed URLs (see below for http:// with TLS support). It does enforce the protocol's >= TLS 1.2 requirement - if a server negotiates HTTP/2 with a lower TLS version it is treated as a protocol error. (there is a preference for changing that for testing purposes if you need it.)


This build uses 0-bit prefix encodings for name and value lengths in the compression block. The specification is unclear on whether those should be 8 bit prefixes or 0 bit prefixes. twitter.com uses 0-bit as well, akamai and katana have favored 8, iij has transitioned from 0 to 8. Future compression definitions will define this more clearly (presumably as 8, which is more efficient) and will provide better interop.
This build supports basic push and continuations and both alpn and npn.


source is at
feedback of any sort welcomed to pmcmanus@mozilla.com and hurley@mozilla.com
https://tbpl.mozilla.org/?tree=Try&rev=613c073aaeab
 
Builds for windows, os x, and linux are at
https://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/mcmanus@ducksong.com-613c073aaeab/
 
Firefox will only be implementing HTTP/2 over TLS - and right now that means for https:// schemed URLs. It does enforce the protocol's >= TLS 1.1 requirement - if a server negotiates HTTP/2 with a lower TLS version it is treated as a protocol error. (there is a preference for changing that for testing purposes if you need it.)
 
This build supports basic push and continuations.
 
There is a also a very early WIP implementation of draft-07 (compression-04) here:
 
BUILDS
http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/hurley@mozilla.com-91da6264f151/


SOURCE
There is a separate, more experimental, build available that supports HTTP/2 draft-12 for http:// URIs using Alternate-Services (-01) and the "h2-12" profile. Sometimes this is known as opportunistic encryption. This allows HTTP/2 over TLS for http:// URIs in some cases without verification of the SSL certificate. It also allows spdy/3 and spdy/3.1 for http:// URIs using the same mechanism.
https://tbpl.mozilla.org/?tree=Try&rev=91da6264f151


feedback of any sort welcomed to pmcmanus@mozilla.com and hurley@mozilla.com
That code is at https://hg.mozilla.org/try/rev/3d48401236e4 and https://github.com/mcmanus/gecko-dev/tree/oe10 with downloads at  https://ftp-ssl.mozilla.org/pub/mozilla.org/firefox/try-builds/mcmanus@ducksong.com-3d48401236e4

Latest revision as of 08:53, 4 July 2022

ARCHIVED
This page has been archived and its contents may be out of date.

HTTP/2 for Firefox is currently under development.

HTTP/2 draft support is included in routine builds of firefox, enabled by default in firefox 34 and later. To get the most up to date support you should use the nightly channel.

The current implementation is of draft-14 with compression-09 [august 6 nightly]

Firefox will only be implementing HTTP/2 over TLS - and so far that means for https:// schemed URLs (see below for http:// with TLS support). It does enforce the protocol's >= TLS 1.2 requirement - if a server negotiates HTTP/2 with a lower TLS version it is treated as a protocol error. (there is a preference for changing that for testing purposes if you need it.)

This build supports basic push and continuations and both alpn and npn.

feedback of any sort welcomed to pmcmanus@mozilla.com and hurley@mozilla.com

There is a separate, more experimental, build available that supports HTTP/2 draft-12 for http:// URIs using Alternate-Services (-01) and the "h2-12" profile. Sometimes this is known as opportunistic encryption. This allows HTTP/2 over TLS for http:// URIs in some cases without verification of the SSL certificate. It also allows spdy/3 and spdy/3.1 for http:// URIs using the same mechanism.

That code is at https://hg.mozilla.org/try/rev/3d48401236e4 and https://github.com/mcmanus/gecko-dev/tree/oe10 with downloads at https://ftp-ssl.mozilla.org/pub/mozilla.org/firefox/try-builds/mcmanus@ducksong.com-3d48401236e4