Load Balancing HTTP/2

HTTP/2 is the latest implementation of the HTTP protocol which is primarily designed to provide enhanced performance by reducing latency between browsers and servers. HTTP/2 is an official Internet protocol and the standard has been published by the IETF (Internet Engineering Task Force) as RFC7540.

Performance Enhancements in HTTP/2

A number of performance enhancements have been introduced with HTTP/2 including:

  • Data Compression
  • Server Push
  • Server Push
  • Removal of blocking issues in HTTP 1.0
  • TCP/IP Multiplexing of requests

Most current browsers support HTTP/2 and will negotiate the appropriate connection protocol with servers. Where a server does not support HTTP/2, the browser will revert to HTTP 1.1. HTTP/2 does not differ from HTTP 1.1 in terms of syntax but implements a different protocol for transfers between the client and the server. The main difference is that the server can push content to the client in anticipation of the client requesting the content which leads to faster rendering of pages in browsers.

TLS Security in HTTP/2

While TLS encryption is not mandatory in HTTP/2 according to the RFC, most browsers will only support HTTP/2 over a TLS secured connection. This means that TLS will essentially become the default when using HTTP/2 connections.

HTTP/2 Support in LoadMaster

LoadMaster currently (January 2016) supports proxying of HTTP/2 requests via a Layer 7 virtual service enabling the publishing of HTTP/2 applications via a load balancing service.