search

Found

info Visão geral

Analisa dois ETags HTTP forte ou fraco e aplica as regras de comparação da RFC 7232 para indicar se uma requisição condicional ou de intervalo coincide.

📘 Como usar

  1. Cole o primeiro ETag em ETag A
  2. Cole o segundo ETag em ETag B
  3. Leia os resultados de Correspondência forte e fraca

Validador de ETag Fraco / Forte

※ Formato: `"valor"` ou `W/"valor"`. Aspas duplas obrigatórias.

※ A comparação segue as regras da RFC 7232 seção 2.3.

Correspondência forte

Verdadeiro só quando ambos são fortes e os valores são idênticos byte a byte. Necessário para Range.

Correspondência fraca

Verdadeiro se os valores forem iguais (prefixo W/ ignorado). Funciona com If-None-Match.

Resultado e uso recomendado

Article

Validador de ETag Fraco / Forte | Comparação conforme a RFC 7232

Coloque dois valores do cabeçalho HTTP ETag lado a lado e veja como a seção 2.3 da RFC 7232 os compara. A ferramenta detecta o prefixo W/, extrai o valor entre aspas e mostra ao mesmo tempo uma correspondência forte e uma fraca, para você saber se um cache, uma requisição condicional ou uma de intervalo funcionaria.

💡 Sobre esta ferramenta

Um ETag é um identificador que representa "esta versão exata deste recurso". O servidor o envia na resposta e o cliente o reaproveita em cabeçalhos como If-None-Match ou If-Match. A RFC 7232 define dois validadores: o forte ("abc") e o fraco (W/"abc").

A regra de comparação é o que costuma confundir. A comparação forte só é verdadeira quando ambos os ETags são fortes e seus valores são idênticos byte a byte. A comparação fraca ignora o prefixo W/ e basta que os valores coincidam. Essa diferença importa: requisições Range e If-Range aceitam apenas validadores fortes. Se o seu servidor entrega um ETag fraco, um download parcial vira uma resposta completa (200) em vez de um 206.

Ao colar os dois cabeçalhos aqui, a linha de recomendação indica quais cabeçalhos condicionais esse par satisfaria. Tudo acontece no seu navegador.

🧐 Perguntas frequentes

W/"abc" é igual a "abc"? Na correspondência fraca, sim; na forte, não. Basta um deles ter W/ para a comparação forte descartá-lo, mesmo com valores idênticos.

Por que um valor solto como abc123 mostra "sintaxe inválida"? A RFC 7232 exige aspas duplas em volta do valor. Sem aspas, abc123 não é um entity-tag válido e não pode ser comparado.

Maiúsculas e espaços são ignorados? Não. O valor opaco é comparado caractere a caractere, então "ABC" e "abc" são diferentes, e espaços internos também contam.

Qual eu preciso para downloads retomáveis? Um validador forte. Range e If-Range recusam os fracos para não juntar bytes de duas representações equivalentes mas não idênticas. Procure um par cuja Correspondência forte seja SIM.

Ele lida com ETags em formato de hash ou estruturados? Sim. O que estiver entre aspas é tratado como opaco, então um hash hexadecimal como "686897696a7c876b7e" ou uma etiqueta versionada como "v2-2024-01" são comparados como estão.

📚 Curiosidades

O cabeçalho ETag já existia no HTTP/1.1 (RFC 2616), mas o algoritmo de comparação forte/fraca só foi bem especificado na RFC 7232, em 2014. Os validadores fracos surgiram por um motivo prático: há respostas semanticamente idênticas que diferem byte a byte — uma página recomprimida com outro nível de gzip ou um conteúdo com um carimbo de tempo embutido. Marcá-las com um ETag forte quebraria o cache via 304, então W/ foi introduzido com o sentido de "equivalente na prática". Curiosidade: o Apache costumava derivar o ETag do inode, do tamanho e da data do arquivo, de modo que o mesmo arquivo servido por dois servidores em balanceamento de carga produzia ETags diferentes — um bug silencioso que arruinava o cache e levou muitas equipes a adotar ETags fracos explícitos.