X-DNS-Prefetch-Control
X-DNS-Prefetch-Control
Нестандартный: Эта функция нестандартна и не находится в стадии стандартизации. Не используйте её на производственных сайтах, обращённых к веб-сети: она не будет работать для всех пользователей. Также могут существовать значительные несовместимости между реализациями, а поведение может измениться в будущем.
Заголовок HTTP-ответа X-DNS-Prefetch-Control управляет предварительной загрузкой DNS, функцией, при которой браузеры предварительно выполняют разрешение доменных имён как для ссылок, которые пользователь может выбрать для перехода, так и для URL-адресов элементов, ссылающихся на документ, включая изображения, CSS, JavaScript и так далее.
Эта предварительная загрузка выполняется в фоновом режиме, поэтому к моменту необходимости использования ссылаемых элементов DNS, скорее всего, будет уже разрешён. Это уменьшает задержку при нажатии пользователем на ссылку.
| Тип заголовка | Заголовок ответа |
|---|---|
| Запрещённое имя заголовка | нет |
Синтаксис
X-DNS-Prefetch-Control: on X-DNS-Prefetch-Control: off
Директивы
- on
-
Включает предварительную загрузку DNS. Именно это делают браузеры, если они поддерживают эту функцию, когда этот заголовок отсутствует
- off
-
Отключает предварительную загрузку DNS. Это полезно, если вы не контролируете ссылку на страницах или знаете, что не хотите раскрывать информацию этим доменам.
Описание
DNS-запросы очень малы с точки зрения пропускной способности, но задержка может быть довольно высокой, особенно в мобильных сетях. Путем упреждающей предварительной загрузки результатов DNS задержка может быть значительно снижена в определённые моменты, например, при нажатии пользователем на ссылку. В некоторых случаях задержка может быть сокращена на секунду.
Реализация этой предварительной загрузки в некоторых браузерах позволяет разрешению доменных имён происходить параллельно (а не последовательно) с извлечением фактического контента страницы. Благодаря этому процесс разрешения доменных имён с высокой задержкой не приводит к задержке при извлечении контента.
Время загрузки страниц, особенно в мобильных сетях, может быть измеримо улучшено таким образом. Если доменные имена изображений могут быть разрешены заранее, до запроса самих изображений, страницы, загружающие много изображений, могут увидеть улучшение времени загрузки изображений на 5% или более.
Настройка предварительной загрузки в браузере
В общем случае вам не нужно ничего делать для управления предварительной загрузкой. Однако пользователь может захотеть отключить предварительную загрузку. В Firefox это можно сделать, установив предпочтение network.dns.disablePrefetch на true.
Также по умолчанию предварительная загрузка имён хостов встраиваемых ссылок не выполняется для документов, загруженных по протоколу HTTPS. В Firefox это можно изменить, установив предпочтение network.dns.disablePrefetchFromHTTPS на false.
Примеры
Включение и выключение предварительной загрузки
Вы можете либо отправить заголовок X-DNS-Prefetch-Control на стороне сервера, либо из отдельных документов, используя атрибут http-equiv тега <meta>, например так:
<meta http-equiv="x-dns-prefetch-control" content="off" />
Вы можете изменить это значение, установив content на "on".
Принудительное разрешение определённых имён хостов
Вы можете принудительно разрешить конкретные имена хостов, не предоставляя конкретных якорей, используя атрибут rel тега <link> с типом ссылки dns-prefetch:
<link rel="dns-prefetch" href="https://www.mozilla.org/contribute/" />
В этом примере доменное имя www.mozilla.org/contribute будет предварительно разрешено.
Аналогично, элемент ссылки может быть использован для разрешения имён хостов без предоставления полного URL, но только предварив имя хоста двумя косыми чертами:
<link rel="dns-prefetch" href="//www.mozilla.org/contribute/" />
Принудительная предварительная загрузка имён хостов может быть полезной, например, на главной странице сайта, для принудительного предварительного разрешения доменных имён, на которые часто ссылаются на протяжении всего сайта, даже если они не используются на самой главной странице. Это улучшит общую производительность сайта, даже если производительность главной страницы не будет затронута.
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | |
X-DNS-Prefetch-Control |
1 |
≤79 |
2 |
Нет |
Да |
Нет |
Да |
18 |
4 |
Да |
Нет |
Да |
См. также
© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-DNS-Prefetch-Control