Which web servers support HTTP/2
Asked Answered
P

3

13

I have installed SPDY Indicator chrome extension. It is detecting some sites as SPDY enabled and some as HTTP/2 enabled.

Which are the web servers that currently support HTTP/2? I know nginx support SPDY, but does it support HTTP/2? If it does, how can I enable it?

Update

Thanks to GolezTrol. The answer is no. Yes as of September 2015

Supported

  • IIS supports HTTP/2 in Windows 10[50]
  • OpenLiteSpeed 1.3.7 and 1.4.4 support HTTP/2 draft 16.[51]

SPDY, but no HTTP/2

The following list is out of date and it's probably not worth maintaining.

  • Nginx provides experimental support for SPDY (Draft 3.1) via a module[52]
  • Apache doesn't support SPDY in the current 2.4.x version, but mod_spdy allows adding it[53]
  • LiteSpeed Web Server currently supports SPDY/3.1[54]
Pudency answered 15/2, 2015 at 8:59 Comment(4)
Computer says "No"Confraternity
This question and its answers is going to become out of date FAST!! Nginx does supports HTTP/2 now and has done for a couple of months.Caraviello
The lists of supporting servers at github and Wikipedia will remain more up to date.Caraviello
Em......i've just tested github and stackoverflow, it seems they haven't support HTTP/2 yet. Surprising !!! They should do as they are tech. focused website. :)Undertone
D
26

There's a full list of web servers etc that support HTTP/2 at https://github.com/http2/http2-spec/wiki/Implementations

HTH

Dapplegray answered 22/3, 2015 at 10:34 Comment(1)
^ Not a full list. http/2 implementation != http2 web server. For example, caddyserver.com uses one of those implementations but is not its own implementation. (disclaimer: I'm the author of Caddy.)Interesting
P
6

Please find table below

+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Name                                                         | Language       | Role(s)                      | Negotiation(s)             | Protocol id(s)                           |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| http4s-blaze                                                 | Scala          | server                       | ALPN                       | h2, h2-14                                |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| cl-http2-protocol                                            | Common Lisp    | client, server               | NPN, direct                | h2-14                                    |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Deuterium                                                    | C              | client, server               | ALPN, direct               | h2, h2-14, h2c, h2c-14                   |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| F5                                                           | C              | server, proxy                | ALPN, NPN                  | h2-14 (11.6.0 HF2) h2 (upcoming release) |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| H2O                                                          | C              | Server, proxy                | ALPN, NPN, Upgrade, direct | h2, h2-14, h2-16                         |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| http-2                                                       | Ruby           | server, client               | ALPN, NPN, Upgrade, direct | h2, h2c, h2-17                           |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| http2                                                        | Go             | client, server               | NPN (+ ALPN w/ Go 1.4)     |                                          |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Jetty                                                        | Java           | client, intermediary, server | ALPN, Upgrade, Direct      | h2, h2-17, h2-14, h2c, h2c-17            |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| LiteSpeed Enterprise                                         | C++            | Server                       | ALPN, NPN, Upgrade         | h2, h2-17, h2-14, h2c                    |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Lucid                                                        | Erlang         | Server                       | NPN, direct                | h2, h2-16, h2-14                         |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Microsoft                                                    | C/C++          | Client, Server               | ALPN                       | h2                                       |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| mod_h2                                                       | C              | Server                       | ALPN, NPN, Upgrade, direct | h2, h2c (plus -14,-16)                   |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Netty                                                        | Java           | client, server               | ALPN, NPN, Upgrade, direct | h2, h2c                                  |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| nghttp2                                                      | C              | client, server, intermediary | ALPN, NPN, Upgrade, direct | h2, h2-16, h2-14, h2c                    |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| node-http2                                                   | NodeJS         | server, client               | ALPN, NPN, direct          | h2                                       |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| OkHttp                                                       | Android, Java  | mock server, client          | ALPN, NPN                  | h2                                       |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| OpenLiteSpeed                                                | C++            | Server                       | ALPN, NPN, Upgrade         | h2, h2-17 , h2-14, h2c                   |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Protocol::HTTP2                                              | Perl           | server, client               | ALPN, NPN, Upgrade, direct | h2, h2c                                  |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Brocade SteelApp Traffic Manager (formerly Riverbed/Zeus TM) | C++            | Server                       | ALPN, NPN, Upgrade, direct | h2, h2c                                  |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Sasazka                                                      | NodeJS         | server                       | NPN                        |                                          |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| second-transfer                                              | Haskell        | server                       | ALPN                       | h2-14, h2                                |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Trusterd                                                     | C/mruby        | client, server               | ALPN, NPN, direct          |                                          |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Twitter                                                      | C++            | server, client               | ALPN, NPN                  | h2                                       |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Undertow                                                     | Java           | Server, Intermediary         | ALPN, Upgrade              |                                          |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Warp                                                         | Haskell        | Server                       | ALPN, direct               |                                          |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+

Links to products since I don't know how to keep table format with links inside.

Premer answered 23/7, 2015 at 6:58 Comment(1)
Was downvoter having a bad day? Maybe care to elaborate?Premer
O
1

nginx released 1.9.5 mainline version last week. You have to compile nginx with --with-http_v2_module to enable HTTP/2 support. It does not support server push yet.

I wrote a simple post on how to set it up for local development on OS X with HTTP/2 in case it's of any interest for others: http://tech.finn.no/2015/09/25/setup-nginx-with-http2-for-local-development/

Ocular answered 28/9, 2015 at 10:28 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.