Otimização de desempenho de front-end --- Prefetch de DNS

Princípios do DNS

DNS (Domain Name System), como um banco de dados distribuído em que nomes de domínio e endereços IP são mapeados um para o outro. Quando o navegador acessa um nome de domínio, ele precisa resolver o DNS uma vez para obter o endereço IP do nome de domínio correspondente. Durante o processo de resolução, de acordo com a ordem do cache do navegador, cache do sistema, cache do roteador, cache DNS do ISP (operador), servidor de nomes de domínio raiz, servidor de nomes de domínio de nível superior e servidor de nomes de domínio primário, o cache é lido gradualmente até que um endereço IP seja obtido.

Princípio de busca prévia do DNS

A busca prévia do DNS é um nome de domínio que pode ser usado após a resolução inicial, de acordo com as regras definidas pelo navegador, para que o resultado da resolução seja armazenado em cache no cache do sistema, diminuindo o tempo de resolução do DNS e melhorando a velocidade de acesso ao site.

Como usar a pré-busca DNS

Resolução automática O Chromium usa o atributo href do hiperlink para encontrar o nome do host a ser pré-resolvido. Quando a tag é encontrada, o Chromium resolve automaticamente o nome de domínio no href para um endereço IP.Este processo de resolução é processado em paralelo com o usuário que está navegando na página da Web. Mas para garantir a segurança, em HTTPS

A página não será analisada automaticamente. Analise manualmente a seguinte marcação na página

<link rel="dns-prefetch" href="与当前不同域名的链接">

A tag do link acima fará com que o Chromium busque previamente a análise "img.alicdn.com".

Controle automático de resolução Quando queremos ativar a função de resolução automática na página HTTPS, adicione a seguinte marca

<meta http-equiv="x-dns-prefetch-control" content="on">

Quando quisermos desativar a função de análise automática na página HTTP, adicione a seguinte marca

<meta http-equiv="x-dns-prefetch-control" content="off">

Quando você não precisa usar a pré-carga do DNS?

Se todos os seus arquivos de recursos estiverem com o mesmo nome de domínio. Quando o usuário solicita a página, o navegador já resolveu o nome do domínio e todos os arquivos JS, CSS e de imagem que precisam ser carregados ficam com o mesmo nome de domínio, portanto, não há necessidade de pré-carregar seu próprio nome de domínio. Se você precisar forçar o pré-carregamento, permitirá que o navegador faça outra análise, o que aumenta o tempo e a eficiência de carregamento da página. (Observação: a pré-busca do DNS precisa ser usada com cautela, a pré-resolução DNS repetida em várias páginas aumentará o número de consultas DNS repetidas)

Quando preciso usar a pré-carga do DNS?

Agora, se você tiver um grande número de plug-ins e recursos de terceiros, como várias JS de publicidade, estruturas de front-end, etc., precisará ser carregado através de um domínio diferente do seu.
Com base na popularidade atual das estruturas de front-end, o carregamento de muitos recursos de terceiros tornou-se gradualmente a norma. Ao mesmo tempo, embora o navegador seja paralelo ao carregar recursos de terceiros. O navegador primeiro analisará os recursos sob os quais o nome de domínio não está na ordem do código. Alguns recursos que precisam ser carregados com antecedência podem causar resolução lenta do DNS, o que pode causar falha na execução do carregamento subsequente do código ou o estilo está errado.
Portanto, o pré-carregamento do DNS pode efetivamente melhorar a velocidade de carregamento da página e tornar o efeito de carregamento da página mais alinhado às expectativas.

Publicado 14 artigos originais · Gosto 4 · Visitantes 8816

Acho que você gosta

Origin blog.csdn.net/weixin_41575159/article/details/95325872
Recomendado
Clasificación