1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
---
title: X-DNS-Prefetch-Control
slug: Web/HTTP/Headers/X-DNS-Prefetch-Control
tags:
- DNS
- HTTP
- Prefetch-Control
- X-DNS-Prefetch-Control
translation_of: Web/HTTP/Headers/X-DNS-Prefetch-Control
---
<div>{{HTTPSidebar}}</div>
<div> O cabeçalho de resposta HTTP <strong><code>X-DNS-Prefetch-Control</code></strong> controla a pré-busca de DNS, um recurso pelo qual os navegadores realizam proativamente a resolução de nomes de domínio em ambos os links que o usuário pode escolher, além de URLs para itens referenciados pelo documento, incluindo imagens , CSS, JavaScript e assim por diante.</div>
<div> </div>
<p>Essa pré-busca é realizada em segundo plano, de forma que o {{glossary ("DNS")}} provavelmente tenha sido resolvido quando os itens referenciados forem necessários. Isso reduz a latência quando o usuário clica em um link.</p>
<table class="properties">
<tbody>
<tr>
<th scope="row">Header type</th>
<td>{{Glossary("Response header")}}</td>
</tr>
<tr>
<th scope="row">{{Glossary("Forbidden header name")}}</th>
<td>no</td>
</tr>
</tbody>
</table>
<h2 id="Sintaxe">Sintaxe</h2>
<pre class="syntaxbox">X-DNS-Prefetch-Control: on
X-DNS-Prefetch-Control: off
</pre>
<h3 id="Diretrivas">Diretrivas</h3>
<dl>
<dt>on</dt>
<dd>Ativar pré-busca de DNS. Isso é o que os navegadores fazem, se eles suportam o recurso, quando esse cabeçalho não está presente.</dd>
<dt>off</dt>
<dd>Desativa a pré-busca de DNS. Isso é útil se você não controla o link nas páginas ou sabe que não deseja vazar informações para esses domínios.</dd>
</dl>
<h2 id="Descrição">Descrição</h2>
<p>As solicitações de DNS são muito pequenas em termos de largura de banda, mas a latência pode ser bastante alta, especialmente em redes móveis. Por meio da pré-busca especulativa de resultados de DNS, a latência pode ser reduzida significativamente em determinados momentos, como quando o usuário clica no link. Em alguns casos, a latência pode ser reduzida em um segundo.</p>
<p>A implementação desta pré-busca em alguns navegadores permite que a resolução de nomes de domínio ocorra em paralelo com (em vez de em série com) a busca do conteúdo real da página. Ao fazer isso, o processo de resolução de nome de domínio de alta latência não causa atrasos ao buscar conteúdo.</p>
<p>Os tempos de carregamento de páginas - especialmente em redes móveis - podem ser melhorados dessa maneira. Se os nomes de domínio para imagens puderem ser resolvidos antes das imagens serem solicitadas, as páginas que carregarem muitas imagens poderão ver uma melhoria de 5% ou mais no tempo de carregamento das imagens.</p>
<h3 id="Configurando_a_Pré-busca_no_Navegador">Configurando a Pré-busca no Navegador</h3>
<p>Em geral, você não precisa fazer nada para gerenciar a pré-busca. No entanto, o usuário pode querer desabilitar a pré-busca. No Firefox, isso pode ser feito configurando a preferência <code>network.dns.disablePrefetch</code> como <code>true</code>.</p>
<p>Além disso, por padrão, a pré-busca de nomes de host de link incorporado não é executada em documentos carregados em {{glossary ("HTTPS")}}. No Firefox, isso pode ser alterado configurando a preferência <code>network.dns.disablePrefetchFromHTTPS</code> como <code>false</code>.</p>
<h2 id="Exemplos">Exemplos</h2>
<h3 id="Ativando_e_desativando_a_pré-busca">Ativando e desativando a pré-busca</h3>
<p>Você pode enviar o cabeçalho do lado do servidor X-DNS-Prefetch-Control ou de documentos individuais, usando o atributo {{htmlattrxref ("http-equiv", "meta")}} no {{HTMLElement ("meta" )}} elemento, assim:</p>
<pre class="brush: html"><meta http-equiv="x-dns-prefetch-control" content="off">
</pre>
<p> </p>
<p>Você pode reverter essa configuração configurando o <code>content</code> como "<code>on</code>".</p>
<h3 id="Forçando_a_procura_de_nomes_de_host_específicos">Forçando a procura de nomes de host específicos</h3>
<p>Você pode forçar a pesquisa de nomes de host específicos sem fornecer âncoras específicas usando esse nome de host com o uso de {{htmlattrxref ("rel", "link")}} no elemento {{HTMLElement ("link")}} com um tipo de link de <code>dns-prefetch</code>:</p>
<pre class="brush: html"><link rel="dns-prefetch" href="http://www.spreadfirefox.com/">
</pre>
<p>Neste exemplo, o nome de domínio "<a href="http://www.spreadfirefox.com/">www.spreadfirefox.com</a>" será pré-resolvido.</p>
<p>Da mesma forma, o elemento de link pode ser usado para resolver nomes de host sem fornecer uma URL completa, mas apenas, precedendo o nome do host com duas barras:</p>
<pre class="brush: html"><link rel="dns-prefetch" href="//www.spreadfirefox.com">
</pre>
<p>Pré-busca forçada de nomes de host pode ser útil, por exemplo, na página inicial de um site para forçar a pré-resolução de nomes de domínio que são referenciados com frequência em todo o site, mesmo que eles não sejam usados na própria home page. Isso melhorará o desempenho geral do site, mesmo que o desempenho da página inicial não seja afetado.</p>
<h2 id="Browser_compatibility">Compatibilidade com navegadores</h2>
<p>{{Compat("http.headers.X-DNS-Prefetch-Control")}}</p>
<h2 id="Veja_também">Veja também</h2>
<ul>
<li><a class="external" href="http://bitsup.blogspot.com/2008/11/dns-prefetching-for-firefox.html">DNS Prefetching for Firefox (blog post)</a></li>
<li><a class="external" href="http://dev.chromium.org/developers/design-documents/dns-prefetching">Google Chrome handles DNS prefetching control</a></li>
</ul>
|