Cadeias de requisições críticas são uma série de requisições de rede interdependentes necessárias para a renderização de uma página. Você aprenderá como lidar com esse problema ou evitá-lo. Leia abaixo!
O que é uma solicitação crítica?
Uma requisição crítica é uma requisição necessária para renderizar a página. Isso significa que, se a requisição falhar, a página não poderá ser renderizada. Requisições críticas devem ter prioridade sobre outras requisições para garantir sua conclusão bem-sucedida.
Existem algumas maneiras diferentes de fazer uma requisição crítica. A mais comum é usar o atributo `async` na tag `<script>`. Isso instrui o navegador a continuar carregando outros recursos enquanto o script é baixado. Outra maneira de fazer uma requisição crítica é incorporar o recurso diretamente no código HTML. Isso garante que o navegador não precise esperar por outra requisição para buscar o recurso, mas aumenta o tamanho do código HTML.
É essencial fazer apenas as solicitações críticas de recursos necessárias para renderizar a página. Fazer muitas solicitações críticas pode atrasar o carregamento da página e, em última análise, levar a uma experiência ruim para o usuário.
Como evitar o encadeamento de requisições críticas?
- Utilizando a técnica de fragmentação de domínio: Uma das principais maneiras de evitar o encadeamento de requisições críticas é utilizando o método de fragmentação de domínio. A fragmentação de domínio permite dividir seu conteúdo em vários domínios, o que pode ajudar a reduzir o número de consultas DNS e melhorar o tempo de carregamento das páginas.
- Utilizando uma CDN: Uma CDN pode ajudar a melhorar o tempo de carregamento das páginas, armazenando em cache o seu conteúdo em servidores em todo o mundo, tornando mais fácil e rápido para os visitantes acessarem o seu conteúdo.
- Otimizando o desempenho do seu site: Você também pode evitar o encadeamento de requisições críticas otimizando o desempenho do seu site. Isso inclui minimizar seus arquivos HTML, CSS e JavaScript, comprimir imagens e usar um plugin de cache.
Alternativas ao encadeamento de solicitações críticas
Existem algumas alternativas ao encadeamento de solicitações críticas que podem ajudar a melhorar o desempenho:
1. Incorporação de recursos: Isso significa incorporar pequenos recursos essenciais diretamente no código HTML, em vez de fazer solicitações HTTP separadas para obtê-los. É possível fazer isso usando URIs de dados ou scripts e estilos embutidos.
2. Pré-carregamento de recursos: Isso instrui o navegador a buscar recursos específicos com antecedência, para que estejam disponíveis quando necessário. Você pode fazer isso por meio da tag Link ou das dicas de recursos.
3. Armazenamento em cache de recursos: O cache armazena recursos acessados com frequência localmente, para que não precisem ser buscados no servidor a cada uso. Você pode usar cabeçalhos de cache ou service workers para isso.
4. Otimizando a ordem das solicitações: A ordem em que as solicitações de recursos são feitas pode afetar o desempenho, portanto, é importante garantir que os recursos críticos sejam solicitados primeiro. Você pode fazer isso usando a palavra-chave `preload` ou alterando manualmente a ordem das solicitações de recursos.
5. Minimizar o tempo de ida e volta: O tempo de ida e volta (RTT, na sigla em inglês) é o tempo que uma solicitação leva para viajar do navegador até o servidor e voltar. Reduzir o RTT pode ajudar a melhorar o desempenho, e existem algumas maneiras de fazer isso: usando conexões persistentes, otimizando as pesquisas de DNS e reduzindo os redirecionamentos.
Conclusão
Esperamos que este artigo tenha ajudado você a entender a importância de evitar o encadeamento crítico de requisições. Ao fazer isso, você pode melhorar a velocidade de carregamento do seu site e proporcionar uma melhor experiência aos seus usuários. Lembre-se de testar as alterações antes de implementá-las no seu site em produção e, caso tenha alguma dúvida, entre em contato com nossa equipe de suporte para obter ajuda.