Status HTTP · Redirecionamento

HTTP 304 Not Modified (Não modificado)

O recurso não mudou desde a última versão guardada pelo cliente, que pode usar o cache.

Ficha rápida

Código304
Nome oficial (em inglês)Not Modified
Nome em portuguêsNão modificado
GrupoRedirecionamento (3xx)
Definido emRFC 9110, Section 15.4.5
Quem costuma gerarO servidor, para orientar o cliente sobre outro endereço ou sobre o cache.

O que significa

Responde a uma requisição condicional (If-None-Match ou If-Modified-Since): o recurso não mudou desde a versão que o cliente já tem. A resposta não traz corpo, e o cliente reutiliza a cópia do cache, economizando tempo e dados.

Quando o servidor devolve esse código

Problemas comuns

Como resolver

  1. Use o cache local ao receber 304.
  2. Garanta que o ETag ou a data de modificação mudem quando o conteúdo mudar.
  3. Para testar sem cache, force a recarga.

Em automações e integrações

Fluxos raramente enviam requisições condicionais, mas, se você usa ETag para não baixar o mesmo dado de novo, trate o 304 como "nada mudou" e interrompa o processamento.

Não confunda com outros códigos

Não confunda com 200: no 304 não há corpo, e o cliente deve usar a cópia que já tem.

Exemplo de resposta

HTTP/1.1 304 Not Modified
ETag: "v7"

O exemplo é ilustrativo: o corpo e os cabeçalhos reais mudam de servidor para servidor. O código e o nome seguem o padrão HTTP.

Perguntas frequentes

304 é erro?

Não. É uma resposta de sucesso que economiza transferência.

Por que meu navegador mostra a versão antiga?

Porque o cache foi validado como atual. Verifique ETag e Cache-Control.

Como o servidor decide devolver 304?

Compara o ETag ou a data de modificação enviados pelo cliente com os valores atuais do recurso. Se continuam iguais, responde 304 sem corpo.

Códigos parecidos

Fontes

← Ver todos os códigos de status HTTP