LW IT Solutions logo LW IT Solutions logo LW IT Solutions
« Blog Overview /Web Development/Tutorials / HTTPS Records in DNS: How HTTP/3 Discovery...

HTTPS Records in DNS: How HTTP/3 Discovery Works

HTTPS Records in DNS: How HTTP/3 Discovery Works

Management Summary

DNS helps a browser find the connection information for a website name. An HTTPS record adds details that can announce HTTP/3, a newer method of transferring web content, before the first page is requested. This can make an available connection method discoverable earlier. The announcement does not itself activate the service or promise faster pages. Support depends on the browser, network and server, while stored copies of connection information can delay later changes.

Contents
  1. Alt-Svc can help during the same page view
  2. What an HTTPS record adds
  3. Historical results from 20 domains
  4. A single error does not establish the cause
  5. TTL and ma govern different caches
  6. Separate checks for advertisement and reachability
  7. Questions and answers
  8. Sources

HTTP/3 carries HTTP over QUIC, which uses UDP. A client can try QUIC directly without a prior advertisement. Success still depends on the endpoint and network path. Failure may be immediate or become apparent only when a time limit expires.

Two information sources help with selection: Alt-Svc names an alternative service in an HTTP response; an HTTPS DNS record can provide connection parameters before the first HTTP request. Both advertise possibilities, without guaranteeing a reachable or faster connection.

Two sources of HTTP/3 information
Client support, endpoint and network path determine actual use.

Alt-Svc can help during the same page view

Alt-Svc: h3=":443"; ma=86400 advertises an equivalent HTTP/3 service on UDP port 443 at the same host. ma gives the freshness lifetime for new connection attempts in seconds. Use of the alternative is optional; certificate validation for the original host still applies.

Without a previous cache entry or another information source, the header is often first received over HTTP/1.1 or HTTP/2. After reading it, a supporting client can establish an additional QUIC connection. This does not require another website visit: further resources on the same page may already benefit. The original TCP connection need not close first.

What an HTTPS record adds

The HTTPS DNS type has number 65 and belongs to the SVCB framework. For an ordinary HTTPS URL on port 443, the lookup uses the hostname. A ServiceMode record describes a potential endpoint: the server name, port and supported application protocols such as HTTP/3. These protocols are identified by ALPN names. AliasMode instead points to another name whose records need further resolution.

alpn="h3,h2" advertises HTTP/3 and HTTP/2. A compatible client can therefore try the first HTTP request over QUIC. Selection, parallel connection attempts, cache state and network conditions determine the actual sequence. A DNS record does not enable HTTP/3 on the server.

ipv4hint and ipv6hint supply address hints for an early connection attempt. Available A/AAAA answers take precedence; otherwise the corresponding lookups should still take place. Hints therefore do not generally replace address resolution.

The ech parameter can carry an ECH configuration list containing a public key and additional information. With supporting clients and servers, ECH protects the inner TLS server name and other fields. A DNS advertisement does not prove successful ECH use. Plaintext DNS queries or visible destination addresses can still reveal information, and ECH configuration can also be supplied through other mechanisms.

Historical results from 20 domains

The saved tool results from 5 September 2026 were reanalysed during this revision. The following table describes that historical run, not a current provider measurement or representative market share.

Historical observationDomains
Any HTTPS record3
HTTPS record with h32
Alt-Svc advertising h37
Both HTTP/3 advertisements2
Alt-Svc h3 only5
HTTPS h3 only0

The two domains advertising h3 in HTTPS records also had a corresponding Alt-Svc header. This was not true of every HTTPS record: the third listed only h2 and had no Alt-Svc header. Seven versus two gives a factor of 3.5 for observed HTTP/3 advertisements; seven versus all three HTTPS records would be only about 2.3.

Five Alt-Svc advertisements had ma values of 86,400 seconds; two used 2,592,000 seconds. No ech parameter was recognised in the processed DNS results. This did not measure negotiated ECH connections, and the DNS processing limitations also matter.

A single error does not establish the cause

The historical h2-only record belonged to stackoverflow.com. Its forced HTTP/3 test ended after 63 milliseconds with “QUIC connection has been shut down”. That does not establish behaviour at every endpoint or the operator’s intention. A valid HTTPS record without h3 is nevertheless not a configuration error in itself.

Two advertised services timed out while other HTTP/3 connections succeeded in the same run. That establishes basic QUIC capability in the measuring setup, but does not explain every failure. For google.com, connection and TLS times were recorded before the request expired without receiving a response. A timeout therefore does not always mean UDP was blocked.

A useful failure report identifies the URL, tested endpoint, IP family, client version, measurement time and location. One failed attempt from one location does not prove a worldwide outage.

TTL and ma govern different caches

The TTL limits how long a DNS answer may normally be reused from a cache. The recursive DNS answers contained TTL values of 20 and 21,474 seconds for the two h3 records. Such values may show remaining cache lifetime. They do not reliably establish the original configured TTL, or prove a deliberate choice of maximum flexibility or minimum resolver load.

A short configured TTL eases changes but may increase query load. Longer values complicate rapid corrections. DNS serve-stale also permits expired data under certain failure conditions. A TTL is therefore not a global switchover guarantee. Likewise, ma is a defined freshness limit for new alternative connections, not merely a suggestion; existing connections need not close at expiry.

Separate checks for advertisement and reachability

The examples use a placeholder. The first request displays response headers from a GET request, followed by a DNS lookup. The last command requires a curl build with HTTP/3 support; curl --version lists available capabilities.

Shell
curl --silent --show-error --max-time 15 --dump-header - \
  --output /dev/null https://example.com/
dig +noall +answer HTTPS example.com
kdig -t HTTPS example.com
curl --version
curl --http3-only --silent --show-error --max-time 15 \
  --output /dev/null --write-out 'HTTP %{http_version}\n' \
  https://example.com/

A --http3-only request tests QUIC without TCP fallback. It does not fully demonstrate that a browser discovers the HTTPS record and selects its alternative endpoint. A different target name or port requires a separate check of that exact endpoint. Redirects may also lead to another host and need separate interpretation.

The HTTP/3 and Alt-Svc Discovery Checker combines DNS display, protocol attempts and a further request using an Alt-Svc cache. The inspected implementation does not follow HTTPS aliases, does not apply the DNS target and port to the direct QUIC test, and does not fully handle truncated DNS responses. The second request is a curl test, not a complete browser visit. Individual findings remain useful, but this does not establish comprehensive DNS discovery testing.

The distinction between a forced protocol test and actual client behaviour is also covered in HTTP/3 on a First Visit: How a Client Discovers the Protocol and What Twenty Sites Answered.

Questions and answers

Is adding the DNS record enough?

No. The advertised endpoint must support the protocol, provide a suitable certificate and be reachable on the specified UDP port. DNS, TLS configuration, the web server or CDN, and the firewall must agree. The record alone does not create a QUIC service.

How should a controlled rollout work?

The service and intended UDP port are prepared first. Tests from suitable external networks follow before publication of DNS or Alt-Svc advertisements. HTTP/3 is not restricted to port 443. Withdrawal requires early planning for cache lifetimes, changed advertisements and, where appropriate, sending Alt-Svc: clear to clients that can receive it. Existing connections and cached configurations require a transition period; merely removing a header does not immediately erase remote caches.

Does EDNS0 prevent every truncated answer?

No. EDNS0 advertises a larger supported UDP payload. Large answers can still be truncated or fail on the network path; handling the TC bit and an appropriate fallback, usually DNS over TCP, remains necessary. Not every HTTPS record with ECH necessarily exceeds 512 bytes.

What does TYPE65 mean in the output?

An older tool may show an unknown DNS type in generic form with raw data. A current version of dig or kdig displays recognised HTTPS parameters more readably. Seeing an ech field still does not confirm a successful ECH connection.

Lukas Wojcik

Lukas Wojcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Get in touch

A question or an idea for a web project? Tell me a little about it. This form uses reCAPTCHA and formconfirmed to protect against spam.

Write a comment

Edge cases the article misses and questions about the code are welcome here.

The email address is not published. Required fields are marked with an asterisk.

LUKASWOJCIK.COM · NEWSLETTER

Fresh ideas in your inbox

New articles, practical tools and updates from the projects.

Choose topics (optional)
No selection: all topics.

Subscription starts after confirmation by email. · Privacy

Privacy · Newsletter

Email address, language, selected topics and subscription/confirmation dates are stored to deliver the newsletter. Double opt-in is required. Every issue includes an immediate unsubscribe link. Formconfirmed checks the signup for spam. No email open or click tracking.

Read the full privacy policy ↗