SAP and HTTP/2

Published on

The HTTP protocol is one of the most widely used protocols on the Internet. However, HTTP/1.0 and HTTP/1.1 have some disadvantages for modern applications – especially with regard to performance in wide-area networks. To improve these problems, RFC 7540 introduced HTTP/2 as a successor.

HTTP/2 is not a fundamental rebuild of the HTTP protocol, but it optimizes the transport of the existing HTTP semantics. All the basic features of HTTP/1.1 have been preserved, only the transport over the network has been changed.

The primary goals for HTTP/2 are to reduce latency through full request and response multiplexing, minimize protocol overhead through efficient compression of HTTP header fields, and support request prioritization and server push.

The SAP Web Dispatcher and the Internet Communication Manager support the HTTP/2 protocol as protocol converter from kernel version 749. Both components are able to receive HTTP/2 and translate it to HTTP/1.1.

HTTP/2 support in ICM is limited to AS ABAP instances. For AS Java there is no HTTP/2 support in the ICM, but you can switch a web dispatcher with HTTP/2 support in front of an AS Java.

HTTP/2 support can be enabled via the parameter icm/HTTP/support_http2 = true. However, HTTP/2 is only supported via SSL. If a client itself does not support HTTP/2, it will still be served HTTP/1.

Additionally, “PFS” must be added to the ssl/ciphersuites parameter to support HTTP/2. For example

HTTP/2 was developed with the goal of improving the response times of web-based applications. The extent to which response times are improved (or whether an improvement is visible) depends on the application and the characteristics of the network connection. In local networks (with a high bandwidth and a low Round Trip Time (RTT)) there is usually hardly any visible difference between HTTP/1.1 and HTTP/2. Improvements over HTTP/1.1 are usually visible in high-bandwidth networks with high RTT. In extreme cases, such as low bandwidth and low RTT, HTTP/2 may even result in longer response times. Also, (on some platforms) the socket buffer settings must be optimal in order to see the full benefit of HTTP/2.

An important feature of HTTP/2 is the significant increase in the maximum number of parallel requests. The total number of requests to be processed remains identical. However, there may be a shift in the “load peaks”. If required, it is therefore necessary to increase the icm/max_conn parameter.

google.com: Introduction to HTTP/2