Я знаю, что DNS переводит доменные имена в IP-адреса. И для общения, самая близкая другая сторона, тем быстрее это, конечно. Но в случае DNS, когда пользователь запрашивает IP-адрес сервера один раз, пока не истечет TTL (который может быть днем), и этот ответ будет кэширован.

Итак, почему многие советуют держать DNS ближе к конечному пользователю?

2 ответа2

3

Я полагаю, что это связано в первую очередь с соображениями безопасности, чтобы избежать атак, таких как спуфинг DNS / отравление кеша DNS С их помощью они могут перенаправить соединения из вашей сети на хитрые серверы, которые заставят вас загружать ненужные файлы, будут открывать страницы, которые вы не хотите, и т.д.

Здесь вы можете прочитать больше об этом виде атаки:

DNS спуфинг

Также, вероятно, вы не захотите, чтобы на ваш сервер постоянно приходили тысячи запросов со всего мира.

3

Имейте в виду, что это предположение, что "ближе" означает "быстрее", и часто это не так.

где пользователь запрашивает один раз об IP-адресе сервера, пока не истечет TTL (который может быть днем), и этот ответ будет кэширован.

Когда вы нажимаете на страницу, ваш браузер должен выполнить поиск DNS для всех ресурсов на странице, поэтому, если вы переходите на страницу с 100 изображениями, которые имеют DNS-имена для адресов, ваш браузер выполняет 100 DNS-запросов для этой страницы.

Для более прямого примера: при просмотре этой страницы на вкладке «Отладка / Сеть» в моем браузере отображаются 39 дополнительных запросов GET, каждый из которых (возможно) нуждается в поиске DNS.

Авторы веб-страниц могут решить, как долго страница кэшируется (по большей части), и все больше и больше ресурсов на страницах в настоящее время не являются статичными, и, как таковые, генерируются не на лету при каждом вызове страницы. Это может потенциально предотвратить / отменить любые параметры кэширования браузера (по крайней мере, частично).

Так как часто вам нужно нажимать на DNS, зависит от нескольких вещей, в том числе:

  • Количество дополнительных вызовов ресурсов /URL, выполненных для получения содержимого запрошенной вами страницы.
  • Настройки кеша браузера пользователя.
  • Страница использует динамический контент.
  • Настройки кеша страницы.

Поскольку совет, который вы ищете, является "общим" советом, он должен охватывать все сценарии в целом, включая плохой / худший случай.

В / наихудшем случае клиент не будет выполнять кеширование DNS (то есть: они никогда ранее не посещали данную страницу), и, следовательно, каждое местоположение ресурса на странице необходимо искать в DNS для визуализации. страница для вас.

Чтобы получить самые быстрые ответы для отображения страницы, вы хотите максимально быстрые ответы DNS.

Также имейте в виду, что это практически одинаково для ЛЮБОГО вычислительного ресурса (не только для DNS-серверов) - хотя кэширование является хорошим, чем быстрее вы можете получить к нему доступ и получить ответы, когда в настоящее время нет кэша, тем лучше.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .