Recursos · 63

Cache HTTP: proteger respostas personalizadas

Separe caches compartilhados, privados e de aplicativos, inspecione chaves, revalidação e invalidação após alterações de direitos de acesso.

Atualizado · 3 min

O que este guia ajuda a alcançar

  • Camadas de inventário
  • Escolher retenção
  • Inspecionar chaves
  • Exercer revalidação e alteração

Verificação rápida

  • A ausência de cache significa que nada é retido?
  • "Vary" protege os direitos de acesso?
  • Toda API deve ser armazenada em cache?

Método passo a passo

  1. 1

    Camadas de inventário

    Listar caches de navegador, CDN, proxy, service worker e aplicativo. Classificar respostas públicas e personalizadas. Uma política HTTP não descreve automaticamente o cache implementado no código.

    Entregável: diagrama de camadas e proprietários.

  2. 2

    Escolher retenção

    A RFC 9111 distingue diretivas: "no-cache" requer validação antes da reutilização, "no-store" proíbe o armazenamento HTTP relevante e "unqualified private" exclui o armazenamento compartilhado. Nenhuma garantia isolada garante a confidencialidade do sistema.

    Entregável: política de retenção por resposta.

  3. 3

    Inspecionar chaves

    Verificar método, URI e dimensões que alteram uma representação. Variar as preocupações com os campos de solicitação; não se trata de autorização. Buscar idioma omitido, negociação de formato e contexto da conta nas camadas de aplicação.

    Entregável: chaves e testes de separação.

  4. 4

    Exercer revalidação e alteração

    Testar respostas novas e antigas, atualizações de dados e direitos revogados. Inspecionar ETag, validação condicional e comportamento de origem indisponível. Uma resposta anteriormente correta pode se tornar sensível após a revogação.

    Entregável: rastreamentos de antes e depois.

  5. 5

    Reprodução com duas contas.

    Usar identidades e marcadores fictícios. Alternar solicitações para o mesmo URI com caches quentes e frios. Verificar logout, links diretos e registro de logs sem gravar tokens reais.

    Entregável: testes negativos e estratégia de invalidação.

Planilha reutilizável

Preencha com suas observações autorizadas. Estes campos são um modelo de trabalho, não resultados observados.

CampoInformações a serem registradas
RespostaPúblico ou personalizado; Dimensões
CamadaCache, proprietário e chave
PolíticaRetenção, atualização e validação
TesteConta fictícia, alteração e observação

Exemplo prático fictício

Situação ilustrativa

Exemplo fictício: uma CDN reutiliza uma resposta de perfil no mesmo URI para duas contas de teste.

Decisão e evidências esperadas

O cenário detecta vazamento, examina a política e as chaves e, em seguida, reproduz após a correção e a revogação do acesso.

Distinguir os mecanismos

MecanismoFinalidadeVerificação ou limitação
no-cachePermitir armazenamento com validação necessáriaNão interprete como ausência de armazenamento
Privado não qualificadoExcluir cache compartilhadoNão interprete como garantia de confidencialidade
no-storeImpedir o armazenamento HTTP relevanteVerificar caches e histórico do aplicativo separadamente

Indicadores de gestão

IndicadorO que medePrimeira ação
Separação de contasSem marcador de outra contaInspecionar corpo, links e metadados
Idade e validaçãoReutilização consistente com a políticaTestar expiração e origem indisponível
Atraso de invalidaçãoTempo até a representação corrigidaNomear cada camada ainda desatualizada

Erros comuns

  • Não interprete como ausência de armazenamento
  • Não interprete como garantia de confidencialidade
  • Verificar caches e histórico do aplicativo separadamente

Perguntas frequentes

A ausência de cache significa que nada é retido?

Não. Requer validação antes da reutilização; não proíbe o armazenamento como no-store.

"Vary" protege os direitos de acesso?

Não. Participa na seleção de representação; a autorização permanece separada.

Toda API deve ser armazenada em cache?

Não. Os benefícios dependem do custo, da atualização e do risco. Respostas sensíveis podem justificar evitar caches compartilhados.

Referências oficiais

As referências apoiam o método. Adapte as verificações ao seu contexto; elas não são uma certificação. Os títulos das referências originais e os documentos de origem podem estar em outro idioma.

Referências consultadas em .