Что такое DNS и для чего он нужен
Что проверяют
Понимаете ли вы, что происходит между вводом адреса в браузер и первым запросом к серверу, и можете ли использовать это в работе тестировщика. Следом обычно спрашивают, почему после смены DNS-записи у вас сайт открывается по-старому, а у коллеги уже по-новому.
Как отвечать
DNS это распределённая иерархическая система, которая переводит доменное имя в IP-адрес и хранит другие данные о домене. Опишите путь запроса:
- локальные кеши: сначала браузер, затем операционная система и файл
hosts; - рекурсивный резолвер: провайдерский, офисный или публичный, он делает всю работу за клиента;
- корневые серверы: сообщают, кто обслуживает зону
.comили.ru; - серверы зоны верхнего уровня: указывают на авторитативные серверы домена;
- авторитативный сервер: отдаёт итоговую запись, а резолвер кладёт её в кеш на время TTL.
Назовите основные записи: A и AAAA для IPv4 и IPv6, CNAME как псевдоним, MX для почты, TXT для SPF и подтверждения владения доменом, NS для делегирования. Работает DNS обычно по UDP на порту 53, на TCP переходит при больших ответах и передаче зоны.
Затем свяжите это с тестированием. Через hosts направляют домен на тестовый стенд, не трогая настоящий DNS. Командами nslookup или dig проверяют, что именно вернул резолвер. Ошибка DNS_PROBE_FINISHED_NXDOMAIN в Chrome значит, что имя не разрешилось и до сервера запрос даже не дошёл. В DevTools на вкладке Network в разбивке времени запроса есть отдельная фаза DNS Lookup.
Где спотыкаются
Считают, что изменение записи видно всем сразу. Пока не истёк TTL, резолверы отдают старое значение, поэтому «на проде не работает» иногда значит «у вас старый кеш».
Путают DNS с маршрутизацией или с HTTP. DNS только сообщает адрес, сам запрос к сайту дальше идёт по IP, и ошибка 404 или 500 к DNS отношения не имеет.
Забывают про hosts после тестов. Строка, оставшаяся с прошлого стенда, потом выглядит как загадочный баг, который воспроизводится только на одной машине.