NavigationContentFooter
Jump toSuggest an edit
Was this page helpful?

Setting up your Load Balancer for HTTP/2 or HTTP/3

Reviewed on 05 November 2024

HTTP overviewLink to this anchor

The Hypertext Transfer Protocol (HTTP) is an application layer protocol, providing the foundations of data exchange and transfer on the web. As a request-response protocol, the client (usually a web browser) requests certain data (e.g. the files needed to display a webpage) from a server, which transfers the requested data in response.

HTTP/1Link to this anchor

Development of the first version of the HTTP protocol, HTTP/1, began in 1989. The first standardized version, HTTP1.1 was released in 1997, bringing together many of the features that would characterize HTTP/1 for the next 15 years. These include text-based request/response protocol, use of headers, requests/responses over a TCP connection, and cache control.

HTTP/2Link to this anchor

HTTP/2 was released in 2015. It represents a more efficient version of HTTP, moving from a text based protocol to a binary protocol. This is easier to parse for clients and servers, helps avoid errors and allows for multiplexing. Over 40% of websites now use HTTP/2/, and it is supported by 97% of web browsers.

HTTP/2 improves upon HTTP/1’s performance in many ways, including but not limited to:

  • Increased efficiency via use of binary framing. HTTP/1 uses text-based data transfer, which can be long, bandwidth-heavy and error-prone. HTTP/2 uses binary message framing, which is more compact and efficient so easier to parse, and provokes fewer errors.
  • Solves blocking problem via multiplexing: HTTP/1 has a Head Of Line (HOL) blocking problem, where over a single TCP connection the browser must wait for its existing requests to be completely answered before it can make a new request. HTTP/2 solves this with multiplexing: the ability to make multiple parallel requests over a single TCP connection.
  • Reduced overhead with header compression: HTTP/2 uses header compression to reduce the overhead caused by TCP’s slow-start mechanism.

HTTP/3Link to this anchor

HTTP/3 was published in 2022. It uses QUIC as its underlying transport protocol, in contrast with HTTP/1 and HTTP/2 which use TCP. QUIC helps to solve issues including the potential interruption in service when a user switches from a WiFi network to a mobile network. HTTP/3’s other advantages include faster establishment of a connection and more thorough encryption. 25% of websites use HTTP/3 and is supported by most major web browsers, representing over 75% of users.

HTTP version support with Scaleway Load BalancersLink to this anchor

Backends and frontends of Scaleway Load Balancers support HTTP/1, HTTP/2 and HTTP/3 differently, depending on their TLS configuration:

Frontend with TLSFrontend without TLSBackend with TLSBackend without TLS
HTTP/1«Validate Icon»«Validate Icon»«Validate Icon»«Validate Icon»
HTTP/2«Validate Icon»«Validate Icon»
HTTP/3«Validate Icon»

In brief:

  • Scaleway Load Balancers support HTTP/2 connections to frontends with TLS, and HTTP/2 connections from backends with TLS to backend servers.
  • Scaleway Load Balancers support HTTP/3 connections to frontends with TLS, but do not support HTTP/3 connections from backends to backend servers.

Configuring your Load Balancer for HTTP/2Link to this anchor

HTTP/2 is supported by default on frontends meeting the following conditions:

  • The frontend is attached to an HTTP backend
  • The frontend has an SSL/TLS certificate.

HTTP/2 is supported by default on backends meeting the following conditions:

  • The backend has TLS activated.
  • The backend server is configured to support HTTP/2.
Tip

The ultimate decision to use HTTP/1 or HTTP/2 is negotiated between the client and the server via the Application-Layer Protocol Negotiation, or ALPN. In principal, the highest possible protocol is used where possible (i.e. HTTP/2 is favored over HTTP/1 when conditions are met).

Configuring your Load Balancer for HTTP/3Link to this anchor

HTTP/3 is supported on frontends meeting the following conditions:

  • The frontend is attached to an HTTP backend
  • The frontend has an SSL/TLS certificate.
  • HTTP/3 has been activated on the frontend (see below).

HTTP/3 is not supported on backends in any case.

To create a frontend that allows HTTP/3 connections, follow the instructions for adding a frontend to your Load Balancer or editing an existing frontend

  • Under Configure backend, ensure that you choose a backend using HTTP protocol.
  • Under Advanced Settings, select Enable HTTP/3.
Was this page helpful?
API DocsScaleway consoleDedibox consoleScaleway LearningScaleway.comPricingBlogCareers
© 2023-2025 – Scaleway