O que é uma resposta 304 Not Modified?
O código de resposta do servidor HTTP 304 Not Modified indica que o recurso solicitado não foi modificado desde a última vez em que foi carregado, o que significa que não há necessidade de transferi-lo novamente. Para os navegadores, isso significa que a versão em cache do recurso pode ser mostrada ao usuário. Para os rastreadores, como o Googlebot, isso significa que não há necessidade de rastrear novamente a página porque nada foi alterado nela.
Como funciona
Aqui está uma explicação simples de como funciona a resposta 304 Not Modified:
-
Solicitação inicial Quando o cliente (navegador ou rastreador) solicita um recurso do servidor da Web pela primeira vez, o servidor envia o recurso solicitado com um código HTTP 200 OK, juntamente com seu código hash, chamado de ETag. O cliente também registra a hora em que solicitou a página/recurso.
-
Solicitações subsequentes Quando o cliente solicita o recurso novamente, o servidor verifica os cabeçalhos
If-None-Match
e/ouIf-Modified-Since
do cliente. Isso é conhecido como uma solicitação HTTP condicional.If-None-Match
contém o ETag (código hash do conteúdo). Se corresponder ao valor no servidor, isso indica que o conteúdo não foi alterado e que não há necessidade de carregá-lo novamente (quando o conteúdo é alterado, seu código hash também é alterado).If-Modified-Since
contém a data e a hora em que o cliente solicitou o conteúdo pela última vez. Se o servidor constatar que o conteúdo não foi alterado desde essa data, não haverá necessidade de enviar o recurso ao cliente.
-
Resposta do servidor Em ambos os casos, se o conteúdo n ão tiver sido alterado, o servidor responderá com o código HTTP 304.
Quando If-None-Match
e If-Modified-Since
são usados, If-None-Match
tem precedência sobre If-Modified-Since
.
Comportamento do navegador e do rastreador
Quando o navegador receber o código HTTP 304 Not Modified do servidor, ele mostrará a versão em cache ao usuário, o que o torna um dos códigos de redirecionamento do lado do cliente. Para os rastreadores, receber uma resposta 304 significa que eles podem evitar o download do mesmo conteúdo novamente, conservando a largura de banda e os recursos.
Por que o código de resposta 304 é importante?
Para sites pequenos, os benefícios de armazenamento em cache fornecidos pelo código HTTP 304 podem não ser tão significativos. Entretanto, para sites grandes, o código de resposta 304 oferece vantagens substanciais:
- Otimização do desempenho Ao aproveitar o conteúdo em cache, os navegadores podem carregar as páginas mais rapidamente para os usuários, melhorando a experiência geral do usuário.
- Gerenciamento do orçamento de rastreamento Para sites grandes, o gerenciamento do orçamento de rastreamento é crucial. O rastreador do Google não rastreará novamente as páginas que não foram alteradas, permitindo que ele se concentre no conteúdo novo e atualizado. Isso ajuda a garantir que o conteúdo novo seja indexado com mais eficiência.
Práticas recomendadas para o uso do 304 Not Modified
- Defina os cabeçalhos de cache adequados Certifique-se de que seu servidor esteja configurado para enviar os cabeçalhos
ETag
eLast-Modified
apropriados. - Monitore a eficiência do cache Verifique regularmente os registros do servidor para ver com que frequência as respostas 304 estão sendo emitidas e ajuste as políticas de cache conforme necessário.
- Otimize o fornecimento de conteúdo Use redes de fornecimento de conteúdo (CDNs) que suportem mecanismos de cache eficientes para reduzir a latência e melhorar os tempos de carregamento.
Para obter informações mais detalhadas sobre os códigos de status HTTP e as práticas recomendadas de desempenho da Web e SEO, consulte fontes confiáveis, como a Mozilla Developer Network (MDN) e o Web Fundamentals do Google.