HTTP/2 is a major version of HTTP network protocol which addresses the limitations of HTTP/1.1 protocol.
The mechanism for framing the data and transportation between client and server has changed from the previous HTTP protocol version.
The major improvement over HTTP/1.1 are:
This provides end-to-end HTTP/2 support from client to NetScaler and from NetScaler to backend server.
For server side HTTP/2 connections, NetScaler will look for active HTTP/2 connections from the available server pool for selected backend server. If it does not exist, NetScaler will create the new HTTP/2 connection with backend server (if HTTP/2 is enabled) by sending UPGRADE header.
Enable HTTP/2 globally through the GUI by navigating to System > Settings > Change HTTP Parameters, and selecting HTTP/2 on Server Side:Alternatively, enable HTTP/2 globally through the CLI with the following command:
set httpparam -http2ServerSide on
Create an HTTP profile and enable HTTP/2:There is also an option for 'Direct HTTP/2'. This feature sends the Connection Preface header (part of HTTP/2 protocol) to back-end servers assuming that it has HTTP/2 support. This feature saves one RTT if upcoming communication takes place on HTTP/2.
If back-end servers do not support HTTP/2 protocol, it will send 400 Bad request response to NetScaler. After parsing this response, NetScaler will fall-back to version HTTP/1.1 for further communications.
Bind the HTTP Profile to a load balancing service.