Tomcat 8.5 Http2



Description

8.5

dotCMS 5.0 ships with Tomcat 8.5 which supports the HTTP2 protocol. HTTP2 is a modern version of HTTP that can combine multiple requests into a single request (among other benefits), greatly increasing client performance when accessing sites. If you are interested in trying to run dotCMS with HTTP2 enabled there are a few things you will need. First off, HTTP2 requires SSL and will not work without it, so you will need a valid certificate file and key. Second, if you are running tomcat without a proxy server or load balancer in front, you will need the APR library installed, which allows tomcat access to system native (non-java) libraries for better performance. You will need to apt-get apr or yum -i apr or brew install apr in order to get this running correctly. Once you do this, hit your site with https and check out your browsers developers tools to insure that you are seeing the connections using HTTP2. Your network connections should look something like the attached image.

And below that is the snippet of code that activates HTTP2 in your server.xml

Apache Tomcat 8 Configuration Reference (8.5.37) - The HTTP2 ...

To learn more about the benefits of the HTTP2 protocol, see: https://en.wikipedia.org/wiki/HTTP/2

Apache Mod_proxy With Tomcat 8.5 Using Http2 - Server Fault

Is HTTP2 supported by Servlet 3.1? Appendix A1 of the Servlet 4.0 specification explicitly states that one change from 3.1 is the 'Requirement to support HTTP/2'. If not, what's the point of Tomcat 8.5 supporting HTTP2? Because there are features in HTTP/2 that exist independently of servlets. See the Tomcat 8.5 documentation on its HTTP/2. While investigating bug 64830 it was discovered that Apache Tomcat 10.0.0-M1 to 10.0.0-M9, 9.0.0-M1 to 9.0.39 and 8.5.0 to 8.5.59 could re-use an HTTP request header value from the previous stream received on an HTTP/2 connection for the request associated with the subsequent stream.