1001Ferramentas
🕒Validadores

Validador Last-Modified

Valide se um cabeçalho HTTP Last-Modified está no formato correto (HTTP-date, RFC 7231). Útil para depurar cache de navegador, CDNs e desempenho de sites.

Resultado

O formato exato do Last-Modified

O cabeçalho Last-Modified informa quando o recurso mudou pela última vez, e é o que sustenta a revalidação condicional: o cliente guarda a data e, na próxima visita, pergunta se mudou desde então. Se não mudou, a resposta é curta e sem corpo. Só que o formato da data é rígido, e uma data que o cliente não entende faz toda essa economia desaparecer.

Cole o valor e a página valida contra o formato exigido: dia da semana abreviado em inglês, vírgula, dia com dois dígitos, mês abreviado em inglês, ano com quatro dígitos, horário e a sigla GMT literal. Nada disso é negociável — nem o idioma, nem os zeros à esquerda, nem o fuso, que é sempre GMT mesmo que o servidor esteja em outro.

Existiram três formatos históricos aceitos, e a especificação atual manda gerar apenas este e aceitar os outros dois na leitura, por compatibilidade. Na prática, servidor que gera formato antigo encontra cliente que não o interpreta, e a revalidação silenciosamente para de funcionar — sem erro, apenas com o recurso sendo baixado inteiro toda vez.

Perguntas frequentes

Por que o fuso é sempre GMT?
Para eliminar ambiguidade: com fuso variável, comparar datas exigiria que todo cliente conhecesse todas as regras de horário de verão de todos os lugares. Fixar em GMT torna a comparação uma subtração. O nome GMT é usado por tradição, ainda que tecnicamente o correto hoje seja UTC.
Last-Modified ou ETag?
O ETag é mais preciso: ele identifica a versão do conteúdo, e não o instante da última mudança, o que evita dois problemas — resolução de um segundo, que perde alterações rápidas, e arquivos regenerados com conteúdo idêntico e data nova. O ideal é enviar os dois; se só um, prefira o ETag.
A data pode ser no futuro?
Não deve, e cliente que encontre isso costuma ignorar o cabeçalho. Data futura normalmente indica relógio dessincronizado no servidor ou geração incorreta a partir de metadado errado. O efeito prático é a revalidação parar de funcionar para aquele recurso.

Ferramentas Relacionadas