0 Compartilhamentos 221 Views

Como utilizar “DNS Prefetching” e acelerar a navegação

22 de fevereiro de 2016

Antes de qualquer coisa, vamos conferir o que significa DNS. Trata-se de uma sigla para “Domain Name System, ou “Sistema de Nomes de Domínios”, em português.

Servidores DNS são máquinas, computadores na grande rede, responsáveis pela “tradução” dos endereços. Ou seja, sempre que alguém tenta acessar um site qualquer (por exemplo, www.codigofonte.com.br), os servidores DNS entram em ação no meio do processo, para converter esta informação no endereço numérico real do site/domínio, ou seja, em um endereço IP.

Todo este processo geralmente é feito bem rapidamente. Em milissegundos, por exemplo, e o usuário não percebe nenhum tipo de demora, ou atraso. E, assim que um servidor DNS retorna o IP de um site, dizemos que este foi então “resolvido”.

Você pode ter uma ideia deste processo em seu próprio computador, agora mesmo. Basta abrir o prompt do DOS e digitar o seguinte:

ping codigofonte.com.br

Tecle <ENTER> ao final e logo a seguir você obterá o endereço IP do site codigofonte.com.br. É bastante simples.

Bem, o processo de resolução DNS pode levar mais ou menos tempo, dependendo de uma série de fatores. A distância física real do servidor onde um website se encontra hospedado influencia, por exemplo, bem como a localização geográfica do requisitante.

Alguns poucos milissegundos podem, algumas vezes, se transformarem em alguns bons segundos de atraso. A este “atraso” damos o nome de latência, veja bem. A latência pode também ser compreendida como o tempo que um pacote de dados leva para transitar entre dois pontos. E não é difícil chegarmos à conclusão de que problemas com latência são capazes de prejudicar bastante a experiência de alguém durante a navegação.

Entretanto, existe um modo de tentarmos “prever” ou, de outra maneira, “buscar antecipadamente”, uma resolução DNS. Navegadores modernos trabalham com “DNS prefetching” e, assim, podem tentar resolver o DNS de quaisquer links existentes em uma página, de forma antecipada.

No “DNS prefetching”, também é utilizado em primeira instância o cache DNS local do computador, caso disponível, para melhores e mais rápidos resultados.

Imagine a economia de tempo proporcionada pela técnica em uma página repleta de hyperlinks, todos apontando para domínios diferentes, hospedados em servidores diferentes, muitas vezes localizados em partes distintas do mundo.

Através do “DNS prefetching”, a resolução dos nomes de domínio pode ser realizada no background, proativamente, antes que o visitante clique em qualquer link. E a técnica também pode ser utilizada para o carregamento de outros elementos, como por exemplo JavaScript, imagens e CSS, veja bem.

Resumindo e apresentando logo o resultado prático do “DNS prefetching”: carregado o website, assim que o visitante clicar em qualquer um dos links nele existentes, a latência será bastante reduzida, pois a resolução DNS já aconteceu, antecipadamente (antes do clique).

Utilizando o “DNS prefetching”

No Mozilla Firefox

No navegador Mozilla Firefox, abra sua página de configurações, digitando o seguinte na barra de endereços:

about:config

A seguir, busque pela seguinte chave:

network.dns.disablePrefetch

Certifique-se de que seu valor esteja definido como “false”. Caso o valor esteja definido como “true”, isto quer dizer que o prefetching está desabilitado no Firefox, e neste caso, basta clicar duas vezes sobre a chave para alterá-lo.

O Firefox também conta com uma configuração específica que determina a utilização ou não de “DNS prefetching” em links existentes em páginas carregadas através do protocolo HTTPS:

network.dns.disablePrefetchFromHTTPS

Altere o valor da chave para “false” para ativar “DNS prefetching” também em páginas HTTPS.

No Google Chrome

Já no Google Chrome, a ativação do “DNS prefetching” deve ser realizada através da página de configurações do browser.

Clique no botão menu, no canto superior direito, e a seguir vá em “Configurações”. Logo abaixo, clique no link “Mostrar configurações avançadas”, desça até “Privacidade” e certifique-se de que a opção abaixo está selecionada:

  • Recursos de pré-chamada para carregar páginas mais rapidamente

No desenvolvimento de websites

Desenvolvedores também podem utilizar o “DNS prefetching” em seus documentos, em suas próprias páginas. Basta utilizar a tag abaixo nos links:

link rel="dns-prefetch"

Exemplo:

<link rel="dns-prefetch" href="codigofonte.uol.com.br">

Vale lembrar que não haverá nenhuma alteração visível para o visitante, mas a resolução DNS será feita antecipadamente, antes que o visitante clique nos links que contam com a tag acima mencionada.

Você pode se interessar

TypeScript // Dicionário do Programador
Vídeos
1,655 compartilhamentos6,807 visualizações
Vídeos
1,655 compartilhamentos6,807 visualizações

TypeScript // Dicionário do Programador

Thais Cardoso de Mello - 18 de março de 2019

TypeScript é o termo falado nesse Dicionário do Programador, conheça mais sobre o assunto.

Promoções de Jogos do Final de Semana (15/03)
Notícias
11 visualizações
Notícias
11 visualizações

Promoções de Jogos do Final de Semana (15/03)

Carlos L. A. da Silva - 15 de março de 2019

Confira as melhores ofertas de jogos de PC para o final de semana.

Mega Bate-Papo com o Programador BR (feat. Igor Oliveira) // CDF Entrevista
Vídeos
1,655 compartilhamentos6,812 visualizações
Vídeos
1,655 compartilhamentos6,812 visualizações

Mega Bate-Papo com o Programador BR (feat. Igor Oliveira) // CDF Entrevista

Thais Cardoso de Mello - 14 de março de 2019

Batemos um papo muito divertido e informativo com o Igor Oliveira (do canal Programador BR).

Deixe um Comentário

Your email address will not be published.

Mais publicações

World Wide Web completa 30 anos!
Notícias
13 visualizações
13 visualizações

World Wide Web completa 30 anos!

Carlos L. A. da Silva - 12 de março de 2019
Ada Lovelace: o cérebro que nunca morre
Artigos
134 visualizações1
134 visualizações1

Ada Lovelace: o cérebro que nunca morre

Carlos L. A. da Silva - 12 de março de 2019
Scrum // Dicionário do Programador
Vídeos
15 visualizações
15 visualizações

Scrum // Dicionário do Programador

Thais Cardoso de Mello - 11 de março de 2019