Networking/Archive/http2

From MozillaWiki
< Networking‎ | Archive
Revision as of 11:33, 1 March 2014 by Mcmanus (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-30 and aurora 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 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-09 and compression-05.

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-10 (h2-10) with compression-06 that has not yet landed on mozilla-central. It is lightly tested, and has no unit tests yet. That code is at https://tbpl.mozilla.org/?tree=Try&rev=405bf98ff987 with downloads at https://ftp-ssl.mozilla.org/pub/mozilla.org/firefox/try-builds/hurley@todesschaf.org-405bf98ff987

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