Networking/Archive/http2

From MozillaWiki
< Networking‎ | Archive
Revision as of 22:55, 24 April 2014 by Todesschaf (talk | contribs)
Jump to navigation Jump to search

HTTP/2 for Firefox is currently under development.

HTTP/2 draft support is included in routine builds of the nightly firefox-31, aurora firefox-30, and beta firefox-29 channels. It is disabled by default.

To get the nightly channel, download from https://nightly.mozilla.org/

To get the (slightly more stable) aurora channel, download from https://aurora.mozilla.org/

To get the (even more stable) beta channel, download from https://beta.mozilla.org/

To enable, go to about:config in the location bar and set network.http.spdy.enabled.http2draft and security.ssl.enable_alpn to true

The current implementation is of draft-10 with compression-06 on nightly, and draft-09 with compression-05 on aurora and beta.

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.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 and both alpn and npn.

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

There is a separate build that implements draft-12 (h2-12) with compression-07 that has not yet landed on mozilla-central. It is lightly tested. That code is at https://tbpl.mozilla.org/?tree=Try&rev=9dc7cf544f5d with downloads at https://ftp-ssl.mozilla.org/pub/mozilla.org/firefox/try-builds/hurley@todesschaf.org-9dc7cf544f5d

There is a separate, more experimental, build available that supports HTTP/2-draft09 for http:// URIs using Alternate-Services (-01) and the "h2t" profile. Sometimes this is known as opportunstic encryption. This allows HTTP/2 over TLS for http:// URIs in some cases without verification of the SSL certificate. That code is at https://tbpl.mozilla.org/?tree=Try&rev=59983e67b49e with downloads at https://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/mcmanus@ducksong.com-59983e67b49e/ .. if you need a server to try this with, you might consider https://github.com/molnarg/node-http2