Networking/Archive/http2: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
HTTP/2 for Firefox is currently under development.
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.
HTTP/2 draft support is included in routine builds of the all firefox channels (with various drafts supported depending on the channel - see below for details). It is disabled by default.


To get the nightly channel, download from https://nightly.mozilla.org/
To get the nightly channel, download from https://nightly.mozilla.org/
Line 11: Line 11:
To enable, go to about:config in the location bar and set network.http.spdy.enabled.http2draft and security.ssl.enable_alpn to true
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.
The current implementation is of draft-12 with compression-07 on nightly, draft-10 with compression-06 on aurora, and draft-09 with compression-05 on beta and release.


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.)
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.)
Line 18: Line 18:


feedback of any sort welcomed to pmcmanus@mozilla.com and hurley@mozilla.com
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
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 19:19, 1 May 2014

HTTP/2 for Firefox is currently under development.

HTTP/2 draft support is included in routine builds of the all firefox channels (with various drafts supported depending on the channel - see below for details). 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-12 with compression-07 on nightly, draft-10 with compression-06 on aurora, and draft-09 with compression-05 on beta and release.

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, 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