The QUIC (formerly "Quick UDP Internet Connections") protocol works at Layer 4 (the transport layer) of the OSI model, and supports speedy communication between clients and servers. It's considered a connection-oriented protocol—like TCP—but simplifies the processes of establishing an initial connection and encryption. 

QUIC is unique because it's based on the connectionless User Datagram Protocol (UDP), and tackles the important tasks of error detection and recovery itself. This enables retransmission of any dropped network packets after a problem is detected. 

While QUIC is now defined by the Internet Engineering Task Force (IETF), the project actually began as a Google experiment in 2012 to boost application performance. It later entered widespread use, and subsequently dropped the acronym (defined above) to become known as "QUIC."

What makes QUIC useful?

Because QUIC is built upon UDP, it comes with major performance advantages such as low latency and high throughput. It generally outshines TCP in these areas, while offering the following benefits: 

  • Significantly shorter time to first connection

  • No multi-step handshake is needed to form a first connection, as QUIC handles encryption and key exchange in one round trip.

  • Reliable data transmission and error correction

  • Improved multiplexing through the use of independent communication channels (no temporary stream blocking)

  • Flow control

  • Improved mobile device support via smoother network-to-network transitions (moving from WiFi to cellular, for example) and session persistence

  • Full TLS support and end-to-end security

  • Easier deployment of new QUIC versions to middleware

While older internet protocols were designed to operate independently of another, this benefit introduced some latency. QUIC's integration with UDP makes it more efficient overall. It's a modern protocol that now supports a growing proportion of internet traffic. Mega corporations such as Meta now serve upwards of 75% of total traffic over QUIC.

How does QUIC work?

When a client uses a QUIC application, it forms an initial connection to the corresponding web server via one network round trip and finishes the TLS handshake with just one more packet from the client (completing the full TLS handshake in the same number of packets TCP takes for its three way handshake). QUIC also leverages multiple data streams when necessary—creating independent, ultra-low latency datagram channels that consume minimal network bandwidth. This makes the protocol more efficient while supporting larger traffic volumes. QUIC's design is more resilient in the face of traffic spikes and congestion for this reason. 

QUIC is used by HTTP/3 to bring these performance improvements to HTTP requests. HTTP/3 works at the application layer to unify functionality between QUIC and the greater HTTP protocol, while supporting performance enhancements such as zero round-trip time resumption (0-RTT). HTTP/3 owes its new features to this QUIC support. This attempt to bring both technologies together aims to improve user experiences while navigating the web.

Does HAProxy support QUIC?

Yes! HAProxy products support UDP and HTTP/3, and therefore offer QUIC support. To learn more about QUIC support in HAProxy, check out our Configuration Manual or our How to Enable QUIC Load Balancing on HAProxy blog post.