Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tomcat support for HTTP/2.0?

Does anyone know what is the lowest version of Tomcat that supports HTTP/2.0? I've been looking everywhere on their site and I cannot find any details regarding this.

like image 235
Asher Johnson Avatar asked Jun 15 '15 21:06

Asher Johnson


People also ask

What is HTTP2 support?

HTTP/2 enables full request and response multiplexing. In practice, this means a connection made to a web server from your browser can be used to send multiple requests and receive multiple responses. This gets rid of a lot of the additional time that it takes to establish a new connection for each request.

How do I enable HTTP2 in spring boot?

Enabling HTTP/2 at the Spring Boot levelIn the application. properties file, enable HTTP/2 and restart the application. Now, let's use curl to validate the HTTP version in use. This provides us with a response, like the one shown below.

What port does HTTP 2 use?

HTTP/2 still uses the same URI schemes and port numbers used in HTTP/1.1 (i.e. port 80 for http URIs, and port 443 for https URIs), but many things are done differently under the hood.


2 Answers

I'm the HTTP/2 implementer in Jetty, and I watch out other projects implementing HTTP/2.

Tomcat's Mark Thomas has outlined support for HTTP/2 for Tomcat 9.

Update Jan 2017: Tomcat 8.5 supports HTTP/2 see @joe-aldrich answer https://stackoverflow.com/a/37889873/2027465

Considering that Servlet 4.0 is going to have as a target HTTP/2 support, and that HTTP/2 support requires ALPN support in the JDK (which also I am involved in), and that ALPN support in the JDK is scheduled for JDK 9, it is probably going to be a long time before all that materializes.

However, be aware that other Servlet Containers already provide HTTP/2 support.

Jetty 9.3.0 has full, robust, support for HTTP/2, client and server. We have been running HTTP/2 on our own website for many months now, and we consider HTTP/2 support production ready. Jetty's HTTP/2 Push APIs are being considered for inclusion in Servlet 4.0. HTTP/2 Push is already available to applications deployed to Jetty in a transparent way (via a Servlet Filter).

Undertow also has an implementation for HTTP/2.

Netty also has one, but it's not based on the Servlet APIs.

like image 66
sbordet Avatar answered Oct 05 '22 19:10

sbordet


Tomcat 8.5 has been released with features back-ported from Tomcat 9 and includes HTTP/2 support.

like image 22
Joe Aldrich Avatar answered Oct 05 '22 17:10

Joe Aldrich