Enabling HTTP/2 for a web server

HTTP/2 is a networking protocol for low-latency transport of content. This protocol is essential for load balancing of certain requests, and serving static content, such as icons and image files, efficiently.

IBM® Cognos® Analytics doesn’t require a web server like Microsoft IIS or Apache HTTP Server to be configured for HTTP/2. However, it's a best practice to do so.

Enabling HTTP/2 on your web server might improve the responsiveness of some of your Cognos Analytics dashboards. Compared to the traditional HTTP/1.1 protocol, HTTP/2 offers the following two key advantages that might improve the load times of widgets in your dashboards.

  • Header compression

    The HTTP header size is much smaller in HTTP/2 compared to HTTP/1.1, which means faster transfer of information.

  • Increased concurrency of requests

    HTTP/2 supports several requests on the same TCP connection. Dashboarding in Cognos Analytics is engineered for the parallel processing of widgets, but HTTP/1.1 throttles the number of concurrent queries much more than HTTP/2. By using HTTP/2, a greater number of dashboard widgets can be processed simultaneously compared to HTTP/1.1

The persistent client/server connection is another advantage of HTTP/2. This means that a TLS (the successor to SSL) handshake happens only once, rather than on each request. For higher latency environments, this factor can have a significant impact on user wait times.

Consider the following factors before you enable HTTP/2:

  • HTTP/2 is supported only over TLS so you need to access your Cognos environment with the https:// at the beginning of the URL. Otherwise, the system falls back to using HTTP/1.1.
  • Not all web browser versions support HTTP/2 and connect by using HTTP/1.1 instead.
  • When HTTP/2 is enabled, the web browser no longer limits the number of concurrent queries. HTTP/2 allows a busy dashboard to increase the workload on the Cognos Analytics server and on any underlying data servers in a way that is not possible with HTTP/1.1. Fewer users are now able to apply much greater load to back-end servers.