Networking/Archive/http2: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 11: Line 11:
The current implementation is of draft-09 and compression-05.
The current implementation is of draft-09 and compression-05.


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.)
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.
This build supports basic push and continuations and both alpn and npn.
Line 19: Line 19:
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 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. 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/
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

Revision as of 11:33, 1 March 2014

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