What is HTTP/3 Check?
HTTP/3 Check is a hosted QUIC protocol exploration tool used to test whether a server supports the QUIC transport protocol and the HTTP/3 semantics.
HTTP/3 Check can query given endpoints for support of both IETF QUIC (HTTP/3) and gQUIC protocols.
What happens when I search a web site?
Following input validation and DNS resolution (if necessary)
of the hostname, an HTTP GET request is made over TCP to get
HTTP response headers from the server. If alternate services
are advertised via the "Alt-Svc" header, HTTP/3 check uses
the header’s value to learn whether HTTP/3 or Google QUIC
Next, an HTTP/3 (or a Google QUIC, depending on the list of
supported versions) request is made to the website. If a
connection is established and the request is successful, the
website supports HTTP/3! If the "Alt-Svc" header from the
previous step did not specify any QUIC versions, HTTP/3 check
will attempt to figure out the server’s supported versions
using QUIC version negotiation protocol.
After a successful HTTP/3 connection, an additional
connection is made to test if the website supports zero-RTT
requests. Following a failed connection or two successful
connections, the results are displayed to the user.
What is LSQUIC library?
LSQUIC is an open source library for the HTTP/3 and QUIC
protocols. It is maintained by LiteSpeedTech, and is used in
all LiteSpeed products that offer HTTP/3 support: LiteSpeed
Web Server, LiteSpeed Web ADC, and OpenLiteSpeed.
Learn more about LSQUIC.
What QUIC versions can we validate?
HTTP/3 Check can query given endpoints for support of HTTP/3 —
version 1 and a few recent Internet Draft versions —
as the older Google QUIC protocol versions Q043, Q046, and Q050.
What is HTTP/3?
HTTP/3 is a new mapping for HTTP that is specifically designed to be transported using the QUIC protocol. It is similar to the previous iteration, HTTP/2, but with changes to semantics and syntax.
Learn more about HTTP/3 at quicwg.org.
What is QUIC?
QUIC is a new Internet transport protocol. It is designed to
advance HTTP with optimizations set to increase performance
and improvements in security. There are two types of QUIC:
gQUIC and IETF QUIC. The former began as an in-house project
at Google and was later released for general consumption. A
handful of browsers, Chrome, Brave, and Opera, support the
gQUIC protocol by default. IETF QUIC is the standard for the
transport protocol; it was engineered by the IETF QUIC Working
Group. Widespread support for the IETF QUIC protocol is growing
and it is slated to become standard, along with HTTP/3 —
meaning they will have official RFCs — in 2021.
LiteSpeed Technologies’ products have supported HTTP/3 since
2019 and Google QUIC since 2017.
Learn more about QUIC at quicwg.org.
Read LiteSpeed's IETF QUIC announcement.
Output Metrics and Information
Zero Round Trip Time Resumption (0-RTT)
The QUIC handshake for this connection was completed without any additional round-trips.
These are the QUIC versions supported by this QUIC endpoint.
This unique identifier for a QUIC connection is used instead
of the more usual 5-tuple (protocol, server IP addresses
and port numbers) to identify QUIC packets that belong to a
HTTP/3 check attempts two connections to test the server's
0-RTT capabilities. During the first connection, the client
receives session resumption information from the server. With
0-RTT, the client can start to send data immediately if session
resumption on the second connection is successful.
This value represents the time between the first packet sent and the first packet received (measured in milliseconds)
This value represents the time between when the first packet is sent and when the handshake is completed (measured in milliseconds).
Take notice of the difference in this metric between the first connection and the second connection. Using 0-RTT, future connections (i.e. the second connection) can complete the handshake much faster than the original connection.
QLog is a standard under development for QUIC Connection debugging and visualization. Learn more at https://quic.edm.uhasselt.be/
To view or download the raw QLog ("application/json"), add "format=qlog" to the HTTP query string.