{"id":19185,"date":"2026-04-19T11:52:03","date_gmt":"2026-04-19T09:52:03","guid":{"rendered":"https:\/\/webhosting.de\/dns-query-minimization-performance-resolver-cache-opti\/"},"modified":"2026-04-19T11:52:03","modified_gmt":"2026-04-19T09:52:03","slug":"minimalizacja-zapytan-dns-wydajnosc-resolver-cache-opti","status":"publish","type":"post","link":"https:\/\/webhosting.de\/pl\/dns-query-minimization-performance-resolver-cache-opti\/","title":{"rendered":"Minimalizacja zapyta\u0144 DNS: wp\u0142yw na wydajno\u015b\u0107 i optymalizacja"},"content":{"rendered":"<p><strong>Minimalizacja zapyta\u0144 DNS<\/strong> zmniejsza ilo\u015b\u0107 danych \u015bledzonych podczas rozpoznawania nazw, ale mo\u017ce generowa\u0107 wi\u0119cej zapyta\u0144 i op\u00f3\u017anie\u0144. Wyja\u015bniam szczeg\u00f3\u0142owo, jak dzia\u0142a technologia RFC 9156, kt\u00f3re efekty wydajno\u015bci s\u0105 mierzalne i jak je kompensuj\u0119 za pomoc\u0105 ukierunkowanych optymalizacji.<\/p>\n\n<h2>Punkty centralne<\/h2>\n<p>Poni\u017csze kluczowe komunikaty pomagaj\u0105 mi znale\u017a\u0107 w\u0142a\u015bciw\u0105 r\u00f3wnowag\u0119 mi\u0119dzy prywatno\u015bci\u0105 a szybko\u015bci\u0105.<\/p>\n<ul>\n  <li><strong>Ochrona<\/strong> ze wzgl\u0119du na mniejsz\u0105 liczb\u0119 ujawnionych etykiet na krok<\/li>\n  <li><strong>Zwi\u0119kszony ruch<\/strong> od 15-26% z zimnymi buforami<\/li>\n  <li><strong>Wska\u017anik b\u0142\u0119d\u00f3w<\/strong> do +5% bez optymalizacji<\/li>\n  <li><strong>PSL+1<\/strong> Redukuje zb\u0119dne zapytania<\/li>\n  <li><strong>Buforowanie<\/strong> i RFC 8198 ograniczaj\u0105 koszty og\u00f3lne<\/li>\n<\/ul>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/04\/dnsoptimierung-rechenzentrum-1847.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Jak dzia\u0142a minimalizacja zapyta\u0144 DNS<\/h2>\n\n<p>Wysy\u0142am z <strong>QMIN<\/strong> Nie od razu pe\u0142n\u0105 nazw\u0119, ale tylko nast\u0119pn\u0105 etykiet\u0119, kt\u00f3ra prowadzi do delegacji. Zamiast wysy\u0142a\u0107 \u201cwww.bigbank.example\u201d do katalogu g\u0142\u00f3wnego, najpierw pytam \u201cexample\u201d, nast\u0119pnie \u201cbigbank.example\u201d w odpowiedniej lokalizacji, a dopiero na ko\u0144cu pe\u0142ne pytanie trafia do odpowiedzialnego hosta. To rozwi\u0105zanie krok po kroku ogranicza widok do <strong>zapytany<\/strong> Informacje dla serwer\u00f3w g\u0142\u00f3wnych i TLD. RFC 9156 okre\u015bla zachowanie w por\u00f3wnaniu do starszego RFC 7816 i odnosi si\u0119 do specjalnych przypadk\u00f3w, takich jak symbole wieloznaczne, kaskady CNAME i NXDOMAIN. Implementacje w BIND i Unbound s\u0105 zgodne z tymi wytycznymi, co sprawia, \u017ce wzrost prywatno\u015bci jest wymierny.<\/p>\n\n<p>Korzystam z mniejszej ekspozycji <strong>Etykiety<\/strong> na zapytanie, ale trac\u0105 czas, je\u015bli potrzeba wi\u0119cej poziom\u00f3w. Konstrukcja ta ogranicza wycieki danych, zw\u0142aszcza do niezaanga\u017cowanych poziom\u00f3w infrastruktury. Cloudflare potwierdza t\u0119 \u015bcis\u0142\u0105 implementacj\u0119 dla wersji 1.1.1.1, kt\u00f3ra niezawodnie zapobiega wyciekom. W praktyce podej\u015bcie to jest szczeg\u00f3lnie skuteczne w przypadku g\u0142\u0119boko zagnie\u017cd\u017conych subdomen, poniewa\u017c wyst\u0119puje tam wiele punkt\u00f3w delegacji. Dlatego wcze\u015bnie rozwa\u017cam, jak wygl\u0105da struktura strefy w codziennej dzia\u0142alno\u015bci i gdzie minimalizacja oferuje rzeczywist\u0105 warto\u015b\u0107 dodan\u0105.<\/p>\n\n<h2>Mierzalne efekty wydajno\u015bciowe w resolwerach<\/h2>\n\n<p>Wi\u0119cej krok\u00f3w cz\u0119sto oznacza wi\u0119cej <strong>Ruch uliczny<\/strong>Pomiary wskazuj\u0105 na wzrost od 15 do 26 procent, w zale\u017cno\u015bci od g\u0142\u0119boko\u015bci strefy i stanu pami\u0119ci podr\u0119cznej. W testach ruch wzr\u00f3s\u0142 o oko\u0142o 17-19 procent w przypadku Unbound i 15-26 procent w przypadku BIND. W przypadku IPv6 liczba \u017c\u0105da\u0144 mo\u017ce osi\u0105gn\u0105\u0107 nawet 18, co znacznie zwi\u0119ksza op\u00f3\u017anienie na wyszukiwanie. Widz\u0119 r\u00f3wnie\u017c do 5 procent dodatkowych przypadk\u00f3w b\u0142\u0119d\u00f3w i oko\u0142o 26 procent wi\u0119cej zapyta\u0144, je\u015bli nie wype\u0142niam pami\u0119ci podr\u0119cznej. Powoduje to zauwa\u017calnie d\u0142u\u017cszy czas \u0142adowania strony w godzinach szczytu.<\/p>\n\n<p>Trzymam je <strong>Metryki<\/strong> poniewa\u017c wyja\u015bniaj\u0105 one postrzegan\u0105 powolno\u015b\u0107 w przedniej cz\u0119\u015bci. Zimne pami\u0119ci podr\u0119czne zwi\u0119kszaj\u0105 te efekty, a ciep\u0142e je \u0142agodz\u0105. Negatywne odpowiedzi (NXDOMAIN) mo\u017cna lepiej buforowa\u0107, minimalizuj\u0105c je, co spowalnia kolejne nieprawid\u0142owe zapytania. Jednak w udanych przypadkach narzut dominuje, je\u015bli nie podejm\u0119 \u015brodk\u00f3w zaradczych. Dlatego w\u0142a\u015bnie planuj\u0119 zmniejszy\u0107 obci\u0105\u017cenie po stronie resolvera.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/04\/dns_query_meeting_4627.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Strategie buforowania i zimny start<\/h2>\n\n<p>Wype\u0142niam <strong>Schowek<\/strong> proaktywnie, zanim prze\u0142\u0105cz\u0119 zmiany na \u017cywo i polegam na wystarczaj\u0105co du\u017cych oknach przechowywania. Oznacza to, \u017ce powtarzaj\u0105ce si\u0119 zapytania rzadziej trafiaj\u0105 w \u0142a\u0144cuch delegacji nieprzygotowane. Agresywne buforowanie negatywne zgodnie z RFC 8198 oszcz\u0119dza kolejne rundy, poniewa\u017c resolver mo\u017ce wywnioskowa\u0107 prawid\u0142owe nieistnienie z informacji NSEC\/NSEC3. Zimne starty pozostaj\u0105 krytyczne, na przyk\u0142ad po restarcie lub dla nowych stref. Jako wprowadzenie do szczeg\u00f3\u0142\u00f3w, odsy\u0142am do tego kompaktowego dokumentu <a href=\"https:\/\/webhosting.de\/pl\/dns-resolver-wydajnosc-strategie-buforowania-cacheboost\/\">Strategie pami\u0119ci podr\u0119cznej<\/a>, kt\u00f3rego u\u017cywam w praktyce.<\/p>\n\n<p>Wybieram rozs\u0105dek <strong>TTL<\/strong>-Warto\u015bci: wystarczaj\u0105co d\u0142ugi, aby zmniejszy\u0107 obci\u0105\u017cenie, wystarczaj\u0105co kr\u00f3tki, aby przenie\u015b\u0107 us\u0142ugi. Obni\u017cam TTL na kr\u00f3tko przed przenosinami, aby nowe rekordy rozprzestrzenia\u0142y si\u0119 szybciej. Po zmianie ponownie je podnosz\u0119, aby utrzyma\u0107 liczb\u0119 zapyta\u0144 zewn\u0119trznych na niskim poziomie. Jest to zauwa\u017calne w interfejsie u\u017cytkownika, poniewa\u017c DNS cz\u0119sto odpowiada za 10-25 procent postrzeganego op\u00f3\u017anienia. W ten spos\u00f3b u\u017cywam buforowania jako d\u017awigni przeciwko narzutowi QMIN.<\/p>\n\n<h2>Serwowanie nieaktualnych danych, wst\u0119pne pobieranie i opr\u00f3\u017cnianie bufora<\/h2>\n<p>U\u017cywam \u201c<strong>Serve Stale<\/strong>\u201d (nieaktualne odpowiedzi) i <strong>Prefetch<\/strong>, aby z\u0142agodzi\u0107 szczytowe op\u00f3\u017anienia. Je\u015bli serwery autorytatywne s\u0105 wolne lub tymczasowo niedost\u0119pne, resolvery z Serve-Stale dostarczaj\u0105 wygas\u0142e odpowiedzi przez kr\u00f3tki czas, a\u017c do ponownego za\u0142adowania \u015bwie\u017cych danych. Pozwala to oddzieli\u0107 wra\u017cenia u\u017cytkownika od powolno\u015bci serwera upstream. Prefetch, z drugiej strony, prze\u0142adowuje popularne wpisy przed wyga\u015bni\u0119ciem ich TTL. Obie te metody zmniejszaj\u0105 cz\u0119stotliwo\u015b\u0107, z jak\u0105 QMIN musi ponownie przechodzi\u0107 przez ca\u0142y \u0142a\u0144cuch delegacji. Wyra\u017ane limity s\u0105 wa\u017cne: Ustawiam kr\u00f3tkie nieaktualne TTL dla stref istotnych dla bezpiecze\u0144stwa i aktywuj\u0119 prefetch tylko dla cz\u0119stych trafie\u0144, aby praca i korzy\u015bci by\u0142y zr\u00f3wnowa\u017cone.<\/p>\n\n<h2>Optymalizacja resolvera z publiczn\u0105 list\u0105 sufiks\u00f3w<\/h2>\n\n<p>Cz\u0119sto przestaj\u0119 minimalizowa\u0107 przy <strong>PSL+1<\/strong>, bezpo\u015brednio pod publiczn\u0105 list\u0105 sufiks\u00f3w. Przyk\u0142ad: W przypadku \u201ca.b.example.com\u201d wysy\u0142am ju\u017c pe\u0142ne pytanie po \u201cexample.com\u201d. Ta heurystyka zmniejsza powielanie pracy przy minimalnej utracie prywatno\u015bci, poniewa\u017c organizacyjnie oddzielna administracja rzadko wp\u0142ywa na g\u0142\u0119bokie subdomeny. Zmniejsza to liczb\u0119 niepotrzebnych podr\u00f3\u017cy w obie strony, co obni\u017ca op\u00f3\u017anienia i wska\u017aniki b\u0142\u0119d\u00f3w. Projekt IETF wyra\u017anie proponuje takie podej\u015bcie.<\/p>\n\n<p>U\u017cywam r\u00f3wnie\u017c rozs\u0105dnych <strong>Ograniczenia<\/strong> dla maksymalnej g\u0142\u0119boko\u015bci na wyszukiwanie. RFC 9156 okre\u015bla 10 jako limit, kt\u00f3ry nie jest wystarczaj\u0105cy dla IPv6 w indywidualnych przypadkach. W takich scenariuszach pomagam w ukierunkowanym omijaniu znanych punkt\u00f3w delegacji lub korzystam z lokalnych podpowiedzi. Zmniejsza to szczytowe warto\u015bci SERVFAIL bez nara\u017cania prywatno\u015bci. W ten spos\u00f3b QMIN pozostaje przewidywalny, nawet w zagnie\u017cd\u017conych konfiguracjach.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/04\/dns-query-optimization-2375.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>EDNS, ECS, 0x20 i pliki cookie DNS<\/h2>\n<p>Zwracam uwag\u0119 na to, jak <strong>EDNS<\/strong>-rozszerzenia wsp\u00f3\u0142dzia\u0142aj\u0105 z QMIN. <strong>Podsie\u0107 klienta EDNS (ECS)<\/strong> mo\u017ce narusza\u0107 prywatno\u015b\u0107, poniewa\u017c cz\u0119\u015bci adresu IP klienta trafiaj\u0105 do zapytania. W \u015brodowiskach z QMIN celowo ograniczam lub dezaktywuj\u0119 ECS, chyba \u017ce jest to absolutnie konieczne do r\u00f3wnowa\u017cenia obci\u0105\u017cenia geograficznego. <strong>0x20 randomizacja<\/strong> (losowy przypadek w QNAME) pozostaje kompatybilny i zwi\u0119ksza odporno\u015b\u0107 na spoofing bez zak\u0142\u00f3cania minimalizacji. <strong>Pliki cookie DNS<\/strong> pomagaj\u0105 zapobiega\u0107 odbiciom\/wzmocnieniom i dobrze pasuj\u0105, poniewa\u017c dzia\u0142aj\u0105 na poziomie transportu. Monitoruj\u0119 MTU i fragmentacj\u0119: dodatkowe opcje EDNS mog\u0105 zwi\u0119kszy\u0107 rozmiar odpowiedzi, co powoduje fragmentacj\u0119 UDP. Je\u015bli to konieczne, prze\u0142\u0105czam si\u0119 na TCP lub DoT\/DoH wcze\u015bniej, aby unikn\u0105\u0107 strat.<\/p>\n\n<h2>Wp\u0142yw na stosy hostingowe i WordPress<\/h2>\n\n<p>Mierz\u0119 czas DNA w izolacji, poniewa\u017c ju\u017c <strong>Milisekundy<\/strong> wp\u0142ywaj\u0105 na rankingi, konwersj\u0119 i TTFB. W przypadku dynamicznych stron, op\u00f3\u017anienia bazy danych i wywo\u0142ania N+1 r\u00f3wnie\u017c si\u0119 sumuj\u0105. Szybki resolver z siln\u0105 pami\u0119ci\u0105 podr\u0119czn\u0105 zmniejsza to ryzyko. Przed planowanymi przenosinami obni\u017cam TTL, aby u\u017cytkownicy szybko docierali do nowych adres\u00f3w IP i by\u0142o mniej nieprawid\u0142owych zapyta\u0144. Je\u015bli chodzi o kwestie architektoniczne, warto zapozna\u0107 si\u0119 z tym kompaktem <a href=\"https:\/\/webhosting.de\/pl\/architektura-dns-hosting-resolver-ttl-wydajnosc-cacheboost\/\">Architektura DNS<\/a>, kt\u00f3rego u\u017cywam jako odniesienia.<\/p>\n\n<p>Trzymam <strong>Propagacja<\/strong> Wyra\u017anie kr\u00f3tkie, aby u\u017cytkownicy mieli sp\u00f3jne do\u015bwiadczenie. Szybkie odpowiedzi DNS zmniejszaj\u0105 przeci\u0105\u017cenia w dalszych w\u0119z\u0142ach. W systemach zarz\u0105dzania tre\u015bci\u0105, takich jak WordPress, liczy si\u0119 ka\u017cdy skok w \u0142a\u0144cuchu. Dlatego przed rozpocz\u0119ciem strojenia HTTP najpierw upewniam si\u0119, \u017ce rozdzielczo\u015b\u0107 nazw jest czysta. Zapobiega to spowolnieniu faktycznego dostrajania sieci przez DNS.<\/p>\n\n<h2>Topologie forwarder\u00f3w, anycast i blisko\u015b\u0107 CDN<\/h2>\n<p>Podejmuj\u0119 \u015bwiadom\u0105 decyzj\u0119 pomi\u0119dzy <strong>Pe\u0142ny rewolwer<\/strong> oraz <strong>Spedytor<\/strong>. Je\u015bli przekierowuj\u0119 \u017c\u0105dania do serwera upstream, faktyczna minimalizacja odbywa si\u0119 tam; lokalnie widz\u0119 mniejszy narzut, ale trac\u0119 kontrol\u0119 nad politykami takimi jak PSL+1. W moich w\u0142asnych centrach danych u\u017cywam pe\u0142nych resolwer\u00f3w blisko serwer\u00f3w aplikacji, cz\u0119sto <strong>anycasted<\/strong>, aby skr\u00f3ci\u0107 \u015bcie\u017cki i zminimalizowa\u0107 jitter. W przypadku obci\u0105\u017ce\u0144 CDN sprawdzam, czy resolvery znajduj\u0105 si\u0119 geograficznie i topologicznie w pobli\u017cu punkt\u00f3w wyj\u015bcia CDN. To znacznie zmniejsza liczb\u0119 podr\u00f3\u017cy w obie strony i relatywizuje dodatkowy narzut powodowany przez QMIN.<\/p>\n\n<h2>Aspekty bezpiecze\u0144stwa: DoT, DoH i DNSSEC<\/h2>\n\n<p>\u0141\u0105cz\u0119 <strong>QMIN<\/strong> z DNS-over-TLS lub DNS-over-HTTPS, aby nikt nie czyta\u0142 zapyta\u0144 w drodze. Minimalizacja ogranicza metadane, a szyfrowanie zabezpiecza transport. Razem oba podej\u015bcia znacznie zmniejszaj\u0105 powierzchni\u0119 ataku. Sprawdzam r\u00f3wnie\u017c, czy resolwery i w\u0119z\u0142y autorytatywne pos\u0142uguj\u0105 si\u0119 tymi samymi profilami bezpiecze\u0144stwa. Zapobiega to nieporozumieniom mi\u0119dzy w\u0119z\u0142ami.<\/p>\n\n<p>Polegam na podpisanych <strong>Strefy<\/strong> za po\u015brednictwem DNSSEC, dzi\u0119ki czemu mog\u0119 rozpozna\u0107 manipulacj\u0119 na wczesnym etapie. \u0141a\u0144cuch zaufania wzmacnia integralno\u015b\u0107 odpowiedzi i ogranicza rozwi\u0105zywanie problem\u00f3w. Ten praktyczny przewodnik zawiera jasne instrukcje <a href=\"https:\/\/webhosting.de\/pl\/dnssec-wdrozenie-zabezpieczen-hostingu-trustchain\/\">Wdro\u017cenie DNSSEC<\/a>, kt\u00f3rych u\u017cywam w projektach. QMIN i DNSSEC wzajemnie si\u0119 uzupe\u0142niaj\u0105, poniewa\u017c mniej eksponowane nazwy i podpisy zapewniaj\u0105 wi\u0119ksz\u0105 ochron\u0119. W ten spos\u00f3b chroni\u0119 zar\u00f3wno zawarto\u015b\u0107, jak i metadane.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/04\/dnsqueryoptmz4456.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Wska\u017aniki i monitorowanie dla QMIN<\/h2>\n\n<p>Obserwuj\u0119 <strong>Kluczowe dane<\/strong> w spos\u00f3b ci\u0105g\u0142y w celu prawid\u0142owego przydzielenia efekt\u00f3w. Obejmuje to liczb\u0119 zapyta\u0144 na wyszukiwanie, proporcj\u0119 NXDOMAIN\/NOERROR\/SERVFAIL, \u015brednie op\u00f3\u017anienie i 95\/99 percentyl. Oddzielam zimne i ciep\u0142e pami\u0119ci podr\u0119czne, poniewa\u017c krzywe s\u0105 bardzo r\u00f3\u017cne. Verisign i SIDN Labs zg\u0142aszaj\u0105 wi\u0119cej kr\u00f3tkich zapyta\u0144 na poziomie root\/TLD, co odci\u0105\u017ca moje pomiary Authoritative i nak\u0142ada wi\u0119ksze wymagania na Resolver. QMIN wyra\u017anie odzwierciedla t\u0119 zmian\u0119.<\/p>\n\n<table>\n  <thead>\n    <tr>\n      <th><strong>Kluczowa liczba<\/strong><\/th>\n      <th><strong>Bez QMIN<\/strong><\/th>\n      <th><strong>Z QMIN<\/strong><\/th>\n      <th><strong>Interpretacja<\/strong><\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>Zapytania\/wyszukiwanie<\/td>\n      <td>1-4<\/td>\n      <td>3-8 (IPv6 do 18)<\/td>\n      <td>Wi\u0119cej krok\u00f3w zwi\u0119ksza liczb\u0119 krok\u00f3w<\/td>\n    <\/tr>\n    <tr>\n      <td>Wzrost nat\u0119\u017cenia ruchu<\/td>\n      <td>Podstawa<\/td>\n      <td>+15-26%<\/td>\n      <td>Koszty rozdzielczo\u015bci etykieta po etykiecie<\/td>\n    <\/tr>\n    <tr>\n      <td>Wska\u017anik b\u0142\u0119d\u00f3w<\/td>\n      <td>niski<\/td>\n      <td>do +5%<\/td>\n      <td>Zastosowanie maj\u0105 przypadki graniczne i ograniczenia<\/td>\n    <\/tr>\n    <tr>\n      <td>Wsp\u00f3\u0142czynnik trafie\u0144 NXDOMAIN<\/td>\n      <td>\u015bredni<\/td>\n      <td>wy\u017cszy<\/td>\n      <td>Agresywne buforowanie negatywne dzia\u0142a<\/td>\n    <\/tr>\n    <tr>\n      <td>Op\u00f3\u017anienie P95<\/td>\n      <td>sta\u0142y<\/td>\n      <td>zwi\u0119kszona z zimn\u0105 pami\u0119ci\u0105 podr\u0119czn\u0105<\/td>\n      <td>Zape\u0142nianie pami\u0119ci podr\u0119cznej jest kluczowe<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\n<p>Sprawdzam r\u00f3wnie\u017c <strong>Dzienniki<\/strong> dla nietypowych serii jednolitych, kr\u00f3tkich QNAME, kt\u00f3re wskazuj\u0105 na \u015bcis\u0142\u0105 minimalizacj\u0119. W po\u0142\u0105czeniu z aktywnymi testami w strefach testowych, wp\u0142yw mo\u017cna szybko okre\u015bli\u0107 ilo\u015bciowo. Z perspektywy front-endu u\u017cywam danych RUM do wizualizacji cz\u0119\u015bci DNS \u015bcie\u017cki obci\u0105\u017cenia. Korelacja z wdro\u017ceniami szybko ujawnia b\u0142\u0119dne konfiguracje. W ten spos\u00f3b \u0142\u0105cz\u0119 metryki z miarami, a nie tylko z debatami na temat symptom\u00f3w.<\/p>\n\n<h2>Konfiguracja test\u00f3w por\u00f3wnawczych i rozwi\u0105zywanie problem\u00f3w<\/h2>\n<p>Oddzielam czyste <strong>Pomiary laboratoryjne<\/strong> telemetrii produkcyjnej. W laboratorium wprowadzam powtarzalne pnie stref (g\u0142\u0119bokie \u0142a\u0144cuchy CNAME, symbole wieloznaczne, drzewa PTR IPv6) i mierz\u0119 zapytania\/lookup, P50\/P95, wsp\u00f3\u0142czynniki ponawiania i fallbacki UDP\u2192TCP. W produkcji u\u017cywam pr\u00f3bkowania z DNSTap lub dziennik\u00f3w zapyta\u0144 do rozpoznawania hotspot\u00f3w. W przypadku warto\u015bci odstaj\u0105cych \u015bledz\u0119 dotkni\u0119te nazwy QNAME i \u015bcie\u017cki delegacji oraz wyszukuj\u0119 niesp\u00f3jno\u015bci (niedopasowanie NS\/DS, nieaktualne rekordy kleju, kiepskie delegacje). Wa\u017cne: koreluj\u0119 szczyty z wdro\u017ceniami lub sekwencjami TTL, poniewa\u017c QMIN sprawia, \u017ce naturalny \u201cpuls\u201d stref jest bardziej widoczny.<\/p>\n\n<h2>Praktyczny przewodnik: Kroki do optymalizacji<\/h2>\n\n<p>Aktywuj\u0119 <strong>QMIN<\/strong> w BIND\/Unbound, ustawi\u0142em PSL+1 i ostro\u017cnie ograniczy\u0142em maksymaln\u0105 g\u0142\u0119boko\u015b\u0107 zapyta\u0144. Nast\u0119pnie ustawiam rozmiar pami\u0119ci podr\u0119cznej, prefetch i Aggressive NSEC\/NSEC3 (RFC 8198). Przed wydaniem obni\u017cam TTL, wst\u0119pnie rozgrzewam pami\u0119ci podr\u0119czne syntetycznymi zapytaniami i ponownie zwi\u0119kszam TTL po zmianie. W sieciach z wieloma rekordami IPv6 testuj\u0119 g\u0142\u0119boko\u015b\u0107 osobno i odci\u0105\u017cam powtarzaj\u0105ce si\u0119 autoryzacje do lokalnych serwer\u00f3w lustrzanych. Pozwala mi to kontrolowa\u0107 op\u00f3\u017anienia i wska\u017aniki b\u0142\u0119d\u00f3w bez po\u015bwi\u0119cania prywatno\u015bci.<\/p>\n\n<p>I dokument <strong>Fallbacki<\/strong> dla specjalnych przypadk\u00f3w, takich jak podzielone horyzonty, symbole wieloznaczne i \u0142a\u0144cuchy CNAME. Tam, gdzie QMIN prowadzi do \u015blepych zau\u0142k\u00f3w, selektywnie u\u017cywam pe\u0142nych nazw dla zdefiniowanych stref. Wyj\u0105tki te s\u0105 niewielkie i weryfikowalne. Po ustabilizowaniu, wy\u0142\u0105czam je ponownie. W ten spos\u00f3b standardowa \u015bcie\u017cka pozostaje czysta i niezawodna.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/04\/dns_query_minimization_4782.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Przyk\u0142ady konfiguracji: BIND i Unbound<\/h2>\n<p>Utrzymuj\u0119 zwi\u0119z\u0142e i weryfikowalne konfiguracje. Ustawiam jasne prze\u0142\u0105czniki i konserwatywne limity dla BIND i Unbound:<\/p>\n<pre><code># BIND (wyci\u0105g)\noptions {\n  qname-minimisation yes;\n  qname-minimisation-strict yes; \/\/ zrelaksuj si\u0119 dla polityki PSL+1, je\u015bli jest to wymagane\n  minimal-responses yes; \/\/ faworyzuje szczup\u0142e odpowiedzi\n  max-recursion-depth 10; \/\/ zgodnie z RFC 9156, zwi\u0119ksz w razie potrzeby\n  prefetch yes; \/\/ odnawia popularne wpisy z wyprzedzeniem\n  stale-answer-enable yes; \/\/ Serve Stale\n  stale-answer-ttl 300; \/\/ niech b\u0119d\u0105 kr\u00f3tkie, ze wzgl\u0119d\u00f3w bezpiecze\u0144stwa\n  lame-ttl 600; \/\/ Cache'uj delegacje lame kr\u00f3cej\n  \/\/ Dostosuj rozmiary pami\u0119ci podr\u0119cznej i zasady TTL w zale\u017cno\u015bci od strefy\n};\n\n# Unbound (wyci\u0105g)\nserver:\n  qname-minimisation: yes\n  qname-minimisation-strict: tak # dla heurystyki PSL+1 w razie potrzeby nie + Policy\n  aggressive-nsec: tak # RFC 8198\n  prefetch: tak\n  prefetch-key: tak\n  serve-expired: tak zachowanie podobne do # RFC 8767\n  serve-expired-ttl: 300\n  cache-max-ttl: 86400\n  cache-min-ttl: 60\n  msg-cache-size: 256m\n  rrset-cache-size: 512m\n  harden-below-nxdomain: tak\n  val-clean-additional: tak # Bailiwick hardening\n<\/code><\/pre>\n<p>Die <strong>PSL+1<\/strong>-Wdra\u017cam t\u0119 heurystyk\u0119 jako polityk\u0119 lokaln\u0105: Dodaj\u0119 logik\u0119 resolvera, kt\u00f3ra zatrzymuje si\u0119 wcze\u015bniej poni\u017cej publicznych sufiks\u00f3w lub specjalnie definiuj\u0119 znane punkty delegacji. W ten spos\u00f3b utrzymuj\u0119 kontrol\u0119 bez rozlu\u017aniania ochrony na ca\u0142ej planszy.<\/p>\n\n<h2>Przypadki brzegowe: IPv6, podzielony horyzont, symbole wieloznaczne<\/h2>\n\n<p>Zwracam uwag\u0119 na <strong>IPv6<\/strong> potencjalnie du\u017ca liczba etykiet w rekordach PTR, kt\u00f3re mog\u0105 \u0142atwo przekroczy\u0107 limity zapyta\u0144. W konfiguracjach split-horizon sprawdzam, czy widoki wewn\u0119trzne i zewn\u0119trzne u\u017cywaj\u0105 identycznych punkt\u00f3w delegacji. W przypadku symboli wieloznacznych agresywne buforowanie ujemne pomaga mi unikn\u0105\u0107 niepotrzebnych rund. W szczeg\u00f3lno\u015bci testuj\u0119 \u0142a\u0144cuchy symboli wieloznacznych, poniewa\u017c prowadz\u0105 one do innych \u015bcie\u017cek z QMIN ni\u017c bez niego. Testy te oszcz\u0119dzaj\u0105 mi p\u00f3\u017aniej czasoch\u0142onnego rozwi\u0105zywania problem\u00f3w.<\/p>\n\n<p>Patrz\u0119 na <strong>delegacja<\/strong>-sp\u00f3jno\u015b\u0107, aby rekordy NS i DS by\u0142y zgodne na wszystkich serwerach autorytatywnych. Niesp\u00f3jno\u015bci zwi\u0119kszaj\u0105 liczb\u0119 zapyta\u0144 z QMIN i zwi\u0119kszaj\u0105 wska\u017anik b\u0142\u0119d\u00f3w. Nieaktualne rekordy kleju r\u00f3wnie\u017c powoduj\u0105 dodatkowe przeskoki, kt\u00f3rych mo\u017cna unikn\u0105\u0107. Taka higiena op\u0142aca si\u0119 ka\u017cdego dnia. Czyste strefy zapewniaj\u0105 zauwa\u017caln\u0105 szybko\u015b\u0107, niezale\u017cnie od minimalizacji.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/04\/dns-query-optimierung-3587.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Serwery autorytatywne: Polityka i higiena odpowiedzi<\/h2>\n<p>W miar\u0119 mo\u017cliwo\u015bci pozostawiam autorytatywno\u015b\u0107 <strong>minimalny<\/strong> (bez zb\u0119dnych dodatkowych danych) i zwraca\u0107 uwag\u0119 na sp\u00f3jne rekordy NS\/DS we wszystkich drugorz\u0119dnych. W przypadku delegowania stref bior\u0119 pod uwag\u0119 <strong>Glue-Records<\/strong> \u015bwie\u017ce i ustawi\u0107 TTL, kt\u00f3re pasuj\u0105 do cz\u0119stotliwo\u015bci zmian. Przy rozbudowanych konfiguracjach SVCB\/HTTPS upewniam si\u0119, \u017ce \u0142a\u0144cuchy alias\u00f3w pozostaj\u0105 kr\u00f3tkie, w przeciwnym razie QMIN gromadzi dodatkowe przeskoki. Tam, gdzie to konieczne, wykonuj\u0119 lokaln\u0105 kopi\u0119 lustrzan\u0105 zewn\u0119trznego serwera autorytatywnego (kopia lustrzana tylko do odczytu), aby zaoszcz\u0119dzi\u0107 powtarzaj\u0105cych si\u0119 krok\u00f3w delegowania.<\/p>\n\n<h2>Typowe wzorce b\u0142\u0119d\u00f3w i szybkie \u015brodki zaradcze<\/h2>\n<ul>\n  <li><strong>Wskaz\u00f3wki SERVFAIL po wdro\u017ceniu:<\/strong> G\u0142\u00f3wnie brak synchronizacji DS lub nowe delegacje bez odpowiedniego kleju. Cofam si\u0119 do poprzedniej wersji strefy, a nast\u0119pnie publikuj\u0119 skoordynowane NS\/DS\/Glue.<\/li>\n  <li><strong>Wysokie op\u00f3\u017anienia P95 z zimn\u0105 pami\u0119ci\u0105 podr\u0119czn\u0105:<\/strong> Aktywuj\u0119 prefetch\/serve stale, tymczasowo zwi\u0119kszam rozmiary pami\u0119ci podr\u0119cznej i syntetycznie podgrzewam gor\u0105ce strefy.<\/li>\n  <li><strong>Wiele ponownych pr\u00f3b\/UDP\u2192TCP:<\/strong> Sprawd\u017a bufor EDNS, przetestuj \u015bcie\u017ck\u0119 MTU, prze\u0142\u0105cz si\u0119 wcze\u015bniej na TCP\/DoT i ogranicz zbyt du\u017ce odpowiedzi (ANY, du\u017ce TXT).<\/li>\n  <li><strong>Nieoczekiwanie g\u0142\u0119bokie wyszukiwania:<\/strong> Zmierz \u0142a\u0144cuchy CNAME\/SVCB, zaostrz polityk\u0119 PSL+1 i umie\u015b\u0107 na bia\u0142ej li\u015bcie znane punkty delegacji.<\/li>\n  <li><strong>Wyciek prywatno\u015bci pomimo QMIN:<\/strong> Dezaktywacja lub dostrojenie ECS, zachowanie randomizacji przypadk\u00f3w, szyfrowanie transportu.<\/li>\n<\/ul>\n\n<h2>Kr\u00f3tko i na temat: Moje rekomendacje<\/h2>\n\n<p>Polegam na <strong>QMIN<\/strong> plus buforowanie, dodaj PSL+1 i utrzymuj realistyczne limity. Zwalczam zimne starty za pomoc\u0105 wst\u0119pnego podgrzewania i odpowiednich cykli TTL. W bezpiecznych \u015brodowiskach szyfruj\u0119 trasy transportowe za pomoc\u0105 DoT\/DoH i polegam na DNSSEC, aby zapewni\u0107 integralno\u015b\u0107. \u0141\u0105cz\u0119 monitorowanie z jasnymi progami dla zapyta\u0144\/wyszukiwania, wska\u017anika b\u0142\u0119d\u00f3w i op\u00f3\u017anienia P95. W ten spos\u00f3b osi\u0105gam r\u00f3wnowag\u0119 mi\u0119dzy prywatno\u015bci\u0105 a szybko\u015bci\u0105.<\/p>\n\n<p>Sprawdzam <strong>Op\u00f3\u017anienie<\/strong> regularnie z testami syntetycznymi i rzeczywistymi warto\u015bciami u\u017cytkownik\u00f3w. \u015aledz\u0119 wyra\u017ane wzrosty a\u017c do poziomu delegacji, na kt\u00f3rym wyst\u0119puj\u0105. Wyj\u0105tki s\u0105 niewielkie i ograniczone w czasie. Po wprowadzeniu ulepsze\u0144 powracam do standardu. Ten zdyscyplinowany cykl utrzymuje koszty og\u00f3lne na niskim poziomie, a prywatno\u015b\u0107 na wysokim.<\/p>\n\n<h2>Praktyczne podsumowanie<\/h2>\n<p>Nie postrzegam QMIN w izolacji, ale raczej jako cz\u0119\u015b\u0107 <strong>Projekty og\u00f3lne<\/strong> od topologii resolvera, polityki buforowania, szyfrowania transportu i higieny stref. Technologia ta niezawodnie redukuje wycieki metadanych i rozk\u0142ada \u015bcie\u017ck\u0119 rozwi\u0105zywania na kilka ma\u0142ych krok\u00f3w. Skutkuje to wymiernymi dodatkowymi zapytaniami - zw\u0142aszcza w przypadku zimnych pami\u0119ci podr\u0119cznych i d\u0142ugich \u0142a\u0144cuch\u00f3w. Kompensuj\u0119 to za pomoc\u0105 PSL+1, agresywnego wykorzystania NSEC, prefetch\/serve stale, czystych delegacji i kr\u00f3tkich \u0142a\u0144cuch\u00f3w alias\u00f3w. Dzi\u0119ki jasnym wska\u017anikom, ukierunkowanym limitom i selektywnym wyj\u0105tkom osi\u0105gam stabilne dzia\u0142anie, w kt\u00f3rym prywatno\u015b\u0107 i wydajno\u015b\u0107 nie s\u0105 zagro\u017cone. <strong>w tym samym czasie<\/strong> wygra\u0107. Oznacza to, \u017ce DNS pozostaje realn\u0105 podstaw\u0105 dla szybkich i bezpiecznych stos\u00f3w hostingowych - nawet pod obci\u0105\u017ceniem i przy cz\u0119stych zmianach.<\/p>","protected":false},"excerpt":{"rendered":"<p>Minimalizacja zapyta\u0144 DNS chroni prywatno\u015b\u0107, ale wp\u0142ywa na wydajno\u015b\u0107 DNS. Dowiedz si\u0119 wi\u0119cej o optymalizacji Resolvera, aby uzyska\u0107 optymalne wyniki.<\/p>","protected":false},"author":1,"featured_media":19178,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_crdt_document":"","inline_featured_image":false,"footnotes":""},"categories":[674],"tags":[],"class_list":["post-19185","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web_hosting"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"litespeed-optimize-size":null,"litespeed-optimize-set":null,"_elementor_source_image_hash":null,"_wp_attachment_image_alt":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"surfer_file_name":null,"surfer_file_original_url":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"rank_math_title":null,"inline_featured_image":null,"_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"_yoast_wpseo_linkdex":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_trp_translated_slug_en_us":null,"_wp_desired_post_slug":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_eael_widget_elements":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"88","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"rank_math_internal_links_processed":"1","_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"DNS Query Minimization","rank_math_og_content_image":null,"_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"19178","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/19185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/comments?post=19185"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/19185\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media\/19178"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media?parent=19185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/categories?post=19185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/tags?post=19185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}