Enabling HTTP/2 support is quite easy in the Total Uptime ADC-as-a-Service platform. In fact, if you’ve deployed SSL within the last few years, then HTTP/2 support is probably already active and ready to go on your packs in addition to HTTP/1.1.
In this article we’ll discuss a little bit about the history and benefits of HTTP/2 and where to look in the Total Uptime panel to ensure it is enabled for your web applications. If you already enabled WebSocket support, these settings are in the same place.
You may have heard of SPDY a number of years ago. If you have, then HTTP/2 will make a lot of sense to you because it was substantially derived from Google’s experimental SPDY protocol (pronounced Speedy).
The beauty of HTTP/2 is that it really is the next evolution or an extension of HTTP/1.x because it leaves alone its high-level semantics including verbs, methods, status codes, headers and URIs but vastly improves how data is transferred between the client and the server.
This is primarily accomplished with the implementation of multiplexing, which allows for significantly greater throughput, thus a massive performance boost some say is in excess of 50% to websites that traditionally make numerous requests for objects that make up a single page using HTTP/1.x. Interestingly, it also allows the server to push content to the client by essentially responding with more content than the client requested.
These big changes are at the low-layer with new binary framing (vs. plain text in HTTP/1.x) that dictates how all of the HTTP messages are encapsulated and transferred between the server and the client. The response queuing of HTTP/1.x and the resultant head-of-line blocking that drastically slowed things down is completely gone because HTTP/2 allows the client and server to break down HTTP messages into independent frames, multiplex them and stream them with weighted priorities on a single TCP connection that is now more efficiently utilized. The result is significantly improved browsing performance.
If you really want to learn the nuts and bolts of HTTP/2, then we suggest RFC7540 for your bedtime reading enjoyment.
In the Total Uptime panel, it’s easy to see if HTTP/2 is supported for your networking packs. There are two locations where you can check if it is enabled.
The first location to check is in the public facing port options dialog. This enables support between the client/user and Total Uptime. You’ll find these configuration options under the edge icon in the configuration builder. Click the edit icon beside your “SSL” port to see the configuration options as shown in the screenshot below.
Yes, the HTTP/2 setting is only in the SSL options dialog for two reasons. First, because major browsers (Firefox, Chrome, Safari, Opera, Edge) only support HTTP/2 over TLS, and even though it is technically possible to use over HTTP, we elected not to support it since no major browser does. Secondly, if you’re using TCP or SSL_PROXY, you would configure HTTP/2 on your device only since these are simply passthrough protocols whereas SSL is an optimization and potentially an offload protocol.
In the public facing port options dialog, you will see the HTTP Protocol selection box in the SSL Settings section as shown in the screenshot below.
The second location where HTTP/2 should be enabled is within the device itself. This enables support between Total Uptime and your device. To see the device configuration options, simply double-click it from the left navigation under “All Devices” as shown in the screenshot below.
Then, when in the device go to the ports and protocols tab and if you have SSL deployed for end-to-end communication from the client through to your device, you’ll see the option as shown in the screenshot below. If you don’t see it, then you don’t have SSL enabled.
Lastly, don’t forget to ensure it is enabled on your server. If it is a modern version such as IIS on Windows 2016 and newer, Apache 2.4.17 and newer, or Apache Tomcat 8.5 and newer, you’re probably already good to go.
To test if HTTP/2 is working through and through, this handy tool from Geekflare is what you’re looking for. Simply enter your domain name and it will run a live check.