Prompt and context
A team wants SVCB/HTTPS DNS records to publish HTTPS service bindings such as ALPN, ports, aliases, and security parameters. Explain record choice, priority, alias chains, caching, old-client compatibility, DNSSEC, and failure fallback. This is a general question about DNS service binding and progressive rollout.
What the interviewer evaluates
- Distinguish generic SVCB from the HTTP-specific HTTPS record.
- Explain
SvcPriority,TargetName, and parameter-key semantics. - Handle alias mode, service mode, multiple records, and loops.
- Identify resolver, client, cache, and DNSSEC differences.
- Design observable canaries and safe fallback rather than treating DNS as an instant control plane.
Clarifying questions to ask
- Do target clients and recursive resolvers support HTTPS/SVCB queries?
- Are you publishing ALPN, HTTP/3, a port, or an ECH-related parameter?
- What happens when DNSSEC validation fails?
- What are the TTL, authoritative release, and rollback windows?
- Must old clients retain A/AAAA records and the existing certificate path?
A 30-second answer
“I would choose HTTPS or generic SVCB according to RFC 9460, then define priority, target, and parameter keys. Before publishing, I would test resolver and client versions while retaining A/AAAA and the default HTTPS path. A low-TTL canary would measure query success, protocol negotiation, connection errors, and fallback; DNSSEC failures or unsupported parameters must have a safe fallback. Rollback waits for the maximum cache window because DNS does not converge instantly.”
Deep-dive answer
Step 1: Select the record type
RFC 9460 defines SVCB and HTTPS resource records. HTTPS is specialized for HTTP origins, while SVCB expresses more general service bindings. Pick the type from the protocol and support matrix rather than treating an HTTPS record as arbitrary application configuration.
HTTPS priority target alpn=h3 port=443The example shows relationships only; production values must follow the specification.
Step 2: Explain priority and modes
SvcPriority expresses service-selection priority. Alias mode directs a lookup to another target name; service mode supplies connection parameters at the owner name. Validate multi-record selection, unknown keys, invalid values, and cycles according to the RFC.
Step 3: Preserve compatibility
Old resolvers or clients may ignore the new record and query only A/AAAA. Keep the traditional records, certificate, and default port so the new record is an optimization for capable clients, not a forced migration.
Step 4: Plan caching and rollback
TTL, negative caching, and prefetch delay propagation. A canary may use a shorter TTL, but rollback still follows the longest cache window. Record authoritative serial, change batch, and expected convergence time.
Step 5: Account for DNSSEC and privacy parameters
DNSSEC validation errors can turn into resolution failure, so test them across resolver and client versions. ECH-related records provide bootstrap information; they do not by themselves hide every DNS, IP, or traffic side channel. Define key rotation and expiry behavior.
Step 6: Canary and observe
Release by region, hostname, or resolver type. Track query share, parameter parsing, HTTP/3 negotiation, connection failures, fallback ratio, cache hits, and DNSSEC errors. Use old clients as a negative control to prove the traditional path still works.
Step 7: Verify rollback
Inject unknown parameters, alias loops, unreachable targets, expired DNSSEC signatures, and wrong ports in a test domain. Confirm safe fallback or explicit failure without caching unsafe answers. In production, change authoritative records, wait the cache window, and compare availability and error budget.
Model answer
“I would use RFC 9460 to distinguish HTTPS from generic SVCB and select alias or service mode, then validate priority, target, and parameter keys. A resolver, browser, SDK, and DNSSEC matrix would be required before rollout, with A/AAAA, the certificate, and the default HTTPS path retained. A regional canary with a controlled TTL would measure query success, HTTP/3 negotiation, connection errors, fallback, and cache behavior.
Tests cover old clients, unknown parameters, loops, unreachable targets, DNSSEC failure, and wrong ports. Rollback follows the maximum cache window; the new record is an optimization or privacy bootstrap, never the only availability path.”
Common mistakes
- Treating DNS as an instant control plane → caches delay changes → plan for the maximum TTL window.
- Removing A/AAAA → old clients fail → retain the legacy path.
- Ignoring priority and loops → wrong selection or resolution cycles → validate against the RFC.
- Testing only modern browsers → real traffic has fallbacks → build a resolver/client matrix.
- Claiming ECH solves all privacy → DNS, IP, and traffic metadata remain → state the boundary.
Follow-up questions and responses
Follow-up 1: When do you choose HTTPS versus SVCB?
HTTPS is specialized for HTTP origins; SVCB is more general. Choose from protocol semantics and client support.
Follow-up 2: What if an old client cannot see the record?
Keep A/AAAA, the certificate, and the default path so it continues with the legacy connection flow.
Follow-up 3: Can deleting the record roll back immediately?
No. Recursive and negative caches delay convergence; wait the planned window and keep observing.
Follow-up 4: How do you prove availability did not decline?
Compare connection success, DNS latency, negotiation results, fallback ratio, and errors split by client type before and after the canary.