Resumo
304 Not Modifiedresolve uma condição HTTP sobre a representação selecionada e permite atualizar metadados armazenados; não certifica toda a cadeia de dependências.- Antes de transformar uma revalidação em autorização para uma decisão importante, o validador deve ser ligado à versão dos dados, políticas ou snapshots usados para formar a representação.
Imagine um endpoint de configuração alimentado por um snapshot de banco de dados. O cache envia If-None-Match com a etiqueta de entidade que já possui. A origem avalia a condição para a representação selecionada e responde 304 Not Modified. Nenhum conteúdo novo é transferido. O cache atualiza os metadados permitidos e um painel converte o evento verde em uma alegação mais ampla: “cadeia de dependências verificada”.
É aí que uma evidência de protocolo se torna ficção gerencial. O 304 pode estar correto mesmo quando o snapshot usado pelo aplicativo é mais antigo do que a decisão de negócio permite. O HTTP respondeu à pergunta recebida; o painel a substituiu silenciosamente por outra.
A condição tem um objeto definido
A RFC 9110 define If-None-Match em relação às etiquetas de entidade da representação selecionada. Em um GET ou HEAD condicional, uma condição falsa produz um 304 em vez do 200 que carregaria conteúdo. O mecanismo é útil justamente porque seu significado é delimitado: a condição do validador foi avaliada segundo a semântica HTTP.
Um 304, portanto, não é um 200 vazio. Ele não tem conteúdo, mas pode trazer campos que orientam o cache, entre eles ETag, Date, Cache-Control, Expires, Content-Location e Vary, quando aplicável. A RFC 9111 especifica como o cache identifica as respostas armazenadas que devem ser atualizadas. Validadores fortes e fracos não desempenham papéis idênticos. Encontrada a resposta correspondente, os campos de cabeçalho aplicáveis são atualizados com os recebidos no 304, respeitando as exclusões da norma.
Essa é uma operação disciplinada sobre uma representação e seus metadados. Não é uma declaração sobre todos os sistemas que a influenciaram.
Validade da representação não é atualidade das dependências
A etiqueta de entidade pertence à semântica escolhida pela origem. Um aplicativo pode calculá-la a partir dos bytes finais, de um número de versão, de um identificador de implantação ou de outro dado específico da implementação. O HTTP não exige que ela codifique a versão de cada registro de banco, pacote de políticas, sinalizador, feed de direitos ou resultado de API consultado a montante.
Em uma representação derivada, a diferença é decisiva. Os bytes JSON podem não ter mudado desde o armazenamento, tornando o 304 correto. Mas, se foram calculados a partir de um snapshot que deveria ter sido atualizado cinco minutos antes, a representação inalterada preserva exatamente a defasagem que o operador precisa descobrir. A revalidação confirma continuidade dentro do limite do validador; não amplia esse limite depois do fato.
Isso não é um argumento contra requisições condicionais. Elas poupam transferência e processamento. Também não quer dizer que todo 304 esconda dados antigos. A questão é o alcance da evidência. “A representação ainda corresponde a este validador” não vira “todas as dependências estão atuais” sem prova adicional.
Registrar a linhagem ausente
Uma resposta de configuração relevante pode expor ou registrar o identificador do snapshot, a hora de atualização da fonte, a versão do pacote de políticas ou o marco de materialização. O cache pode preservar o alvo da requisição, a identidade da resposta armazenada, os campos condicionais, os metadados do 304 e a decisão que consumiu o resultado.
O recibo da cadeia de validação proposto aqui é uma síntese editorial de controle, não um objeto definido pelo IETF nem pelas RFC citadas. Ele deve reunir:
- alvo da requisição e identidade da representação selecionada;
- tipo e valor do validador, além dos campos condicionais;
- hora, status e metadados retornados no 304;
- resposta armazenada e campos atualizados;
- versões de snapshots, políticas ou dependências usadas na geração;
- decisão, controle ou automação que se apoiou no resultado.
Se a origem não consegue ligar a representação a uma versão de dependência, o estado honesto é “representação revalidada; atualidade das dependências desconhecida”. É uma afirmação mais estreita, porém muito mais útil que um selo verde que mistura duas perguntas.
Fontes
Briefing para membros
Contexto aprofundado do perfil
Faça login com o nível de assinatura correto para desbloquear o briefing completo e as notas das fontes.
Apenas para Strategic Circle
Strategic Circle
Aberto a todos os leitores. Desbloqueie Briefings de perfil após se inscrever e fazer login.
Junte-se ao Strategic CircleSomente para Leadership Alliance
Leadership Alliance
Para proprietários e gestores qualificados de ativos de PI; faça login para desbloquear os briefings da Leadership Alliance.
Junte-se ao Leadership Alliance

