We aim to provide a simple user- and research-friendly API to analyze the configuration of QUIC servers in the wild.
You can initiate a measurement by sending an HTTPS request to our measurement probe understanding-quic.net
.
Required
domain: The domain name of the server you want to analyze.
Optional
port: Port number of the QUIC service. Default is 443.
alpn: The application layer protocol negotiation string of the QUIC service. Default is "H3".
You do not need to authentication to use this API.
We cache results to reduce measurement traffic. The result set delivered by our API includes a timestamp (ts
) that indicates when the measurement has been performed.
Measuring the QUIC connection setup to the HTTP/3 service on google.com
:
curl -X POST https://understanding-quic.net -d '{"domain": "google.com"}' -H "Content-type: application/json"
Measuring the QUIC connection setup to the DNS over QUIC service on ns1.xdp.cz
:
curl -X POST https://understanding-quic.net -d '{"domain": "ns1.xdp.cz", "port": 853, "alpn": "doq"}' -H "Content-type: application/json"
{
"classification": [
{
"complianceLevel": 50,
"handshakeClass": "Multi-RTT Handshake (inefficient)",
"handshakeData": {
"amplification": "3.3x",
"dataReceived": "8264",
"dataSent": "2500",
"packetsReceived": "7",
"packetsSent": "3"
},
"handshakeEvents": {
"RTT": "18.904",
"timeHandshake": "40.718",
"timeInitial": "19.476"
},
"sentInitialSize": 1278
},
{
"complianceLevel": 50,
"handshakeClass": "Multi-RTT Handshake (inefficient)",
"handshakeData": {
"amplification": "3.1x",
"dataReceived": "8365",
"dataSent": "2700",
"packetsReceived": "7",
"packetsSent": "3"
},
"handshakeEvents": {
"RTT": "18.895",
"timeHandshake": "39.484",
"timeInitial": "19.441"
},
"sentInitialSize": 1378
}
],
"compression": [
{
"algorithm": "zlib",
"enabled": false
},
{
"algorithm": "zstd",
"enabled": false
},
{
"algorithm": "brotli",
"compressedSize": 3899,
"decompressedSize": 6403,
"enabled": true
}
],
"domain": "google.com",
"quicSupport": true,
"ts": "Tue, 08 Nov 2022 13:05:38 GMT"
}
Requests about servers that do not support QUIC will take up to 12s to deliver a response.
It is best to first verify QUIC support and then query our API.
{
"classification": [],
"compression": [
{
"algorithm": "zlib",
"enabled": false
},
{
"algorithm": "zstd",
"enabled": false
},
{
"algorithm": "brotli",
"enabled": false
}
],
"domain": "heise.de",
"quicSupport": false,
"ts": "Tue, 08 Nov 2022 13:12:49 GMT"
}