Twój DNS dla HTTPS? Mały rekord, który zmienia wszystko
Problem z wykrywaniem HTTP/3, o którym nikt nie mówi
Wyobraź sobie sytuację, która dzieje się w tej chwili na milionach stron: użytkownik wpisuje adres w przeglądarce. Ta najpierw rozwiązuje DNS, potem nawiązuje połączenie TCP, przeprowadza handshake TLS i dopiero wysyłając żądanie HTTP dowiaduje się — "ej, mam też HTTP/3!". Protokół, który wszystko przyspieszyłby od samego początku? Dociera za późno.
To nie jest ograniczenie przeglądarek. To fundamentalny problem architektoniczny. Tradycyjny sposób informowania o HTTP/3 polega na nagłówku Alt-Svc, który dociera do klienta dopiero po ustanowieniu połączenia. W tym momencie strona уже zobowiązała się do HTTP/1.1 lub HTTP/2.
Wtedy pojawia się rekord DNS HTTPS (RFC 9460)
I tutaj zaczyna się prawdziwa magia. Rekord HTTPS, znormalizowany w listopadzie 2023 roku, robi coś niezwykłego — pozwala ogłosić obsługę HTTP/3 zanim przeglądarka otworzy jakiekolwiek połączenie.
Gdy klient wykonuje zapytanie DNS — które i tak musiałby wykonać — jednocześnie otrzymuje:
- Informację o obsługiwanych protokołach ALPN (h3, h2, http/1.1)
- Klucze publiczne ECH (Encrypted Client Hello)
- Wskazówki adresowe pozwalające rozpocząć łączenie od razu
To oznacza, że pierwsze połączenie z Twoją stroną może od razu korzystać z QUIC i HTTP/3. Bez marnowania handshake'a. Bez dodatkowej rundy na wykrycie protokołu, którego moglibyśmy użyć od początku.
Dlaczego to ważniejsze, niż myślisz
Pomyśl o każdym pierwszym użytkowniku odwiedzającym Twoją stronę. Nie ma on zapisanego połączenia w cache. Nie nauczył się o HTTP/3 z poprzednich wizyt. Zaczyna od zera, a przy starym podejściu z Alt-Svc płaci karę opóźnienia tylko po to, by odkryć, co obsługujesz.
Z rekordem HTTPS to wykrywanie odbywa się podczas zapytania DNS, które i tak musi się wykonać. Negocjacja protokołu następuje przed nawiązaniem połączenia, nie po nim.
Ale to nie wszystko: Encrypted Client Hello
Rekord HTTPS rozwiązuje jeszcze jeden krytyczny problem, z którym nagłówki HTTP nie mają szans się uporać. Encrypted Client Hello (ECH) szyfruje cały TLS ClientHello, łącznie z nazwą serwera SNI. Dzięki temu obserwatorzy sieciowi nie widzą, na jaką konkretnie stronę wchodzisz.
Jest jednak haczyk: potrzebujesz klucza publicznego ECH zanim wyślesz pierwszy ClientHello. Ale przecież nie ma jeszcze żadnego połączenia, przez które można by ten klucz pobrać. To klasyczny problem jajka i kury, który rozwiązać może tylko kanał out-of-band — i właśnie nim jest rekord DNS HTTPS.
Nagłówki HTTP nigdy nie będą w stanie dostarczyć ECH. DNS może.
Publikowanie rekordu HTTPS
Ciekaw jak to wygląda w praktyce? Oto kompletny rekord HTTPS w trybie ServiceMode:
twojadomena.pl. 3600 IN HTTPS 1 . alpn="h3,h2" ipv4hint=203.0.113.10 ipv6hint=2001:db8::10
A teraz rozbiórka:
twojadomena.pl.— Twoja domena (w pełni kwalifikowana, z kropką na końcu)3600— TTL w sekundach (jak długo resolwery mogą cache'ować ten rekord)HTTPS— Typ rekordu1— Priorytet 1 lub wyższy oznacza tryb ServiceMode (zawiera parametry).— Host docelowy; kropka oznacza "użyj nazwy właściciela"alpn="h3,h2"— Obsługiwane protokoły, najlepsze na początkuipv4hint/ipv6hint— Wskazówki adresowe do wczesnego rozpoczęcia połączenia
U nas w NameOcean coraz łatwiej zarządzać takimi rekordami obok pozostałej konfiguracji DNS. To kolejny sygnał, że trzymamy rękę na pulsie tego, dokąd zmierza wydajność internetu.
A co ze starszymi klientami?
Publikowanie rekordu HTTPS jest całkowicie addytywne. Klienci, którzy go nie rozumieją, po prostu go ignorują i wracają do zwykłych zapytań A/AAAA. Mogą ominąć ich optymalizacja HTTP/3, ale nic się nie popsuje.
Czyli możesz śmiało publikować rekord HTTPS już dziś, bez obaw o kompatybilność. To progresywne usprawnienie — nowoczesne przeglądarki go odczytają, starsze go nie zauważą.
Czy powinienem usunąć nagłówek Alt-Svc?
Nie. Zostaw go.
Traktuj nagłówek Alt-Svc jako fallback dla wszystkiego, co nie otrzymało Twojego rekordu HTTPS: starsze przeglądarki, określone konfiguracje resolverów, sieci filtrujące odpowiedzi DNS. Mając oba narzędzia, masz osłonięte wszystkie flanki:
- Nowoczesne przeglądarki + resolwery obsługujące HTTPS → Wykrywają HTTP/3 z DNS, łączą się natychmiast z QUIC
- Starsi klienci lub filtrowany DNS → Odkrywają HTTP/3 z nagłówka Alt-Svc po pierwszym połączeniu
- Kolejne wizyty → Jeszcze lepiej; połączenia HTTP/3 mogą wznowić się z 0-RTT, wysyłając pierwsze żądanie bez żadnego handshake'a
Podsumowanie
Rekord DNS HTTPS to jedna z tych rzadkich optymalizacji, która kosztuje niemal nic do wdrożenia, a może znacząco poprawić wydajność połączeń dla każdego nowego odwiedzającego Twoją stronę. To niewielka zmiana konfiguracyjna, która przenosi wykrywanie HTTP/3 dokładnie tam, gdzie powinno być: przed wysłaniem pierwszego bajta, nie po.
Jeśli korzystasz z CDN, sprawdź czy publikują już ten rekord za Ciebie — Cloudflare robi to automatycznie dla stref z proxy. Jeśli zarządzasz DNS samodzielnie, dodanie rekordu HTTPS to piętnastominutowe zadanie, które docenią wszyscy odwiedzający przy każdym "zimnym" połączeniu.
Internet zmierza w stronę HTTP/3. Upewnij się, że Twój DNS jedzie na tym wozie.
Chcesz zoptymalizować konfigurację DNS? W NameOcean dostarczamy narzędzia i wiedzę, które trzymają Twoją infrastrukturę na szczycie technologii. Pierwsze połączenia odwiedzających nie muszą czekać.