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
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
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
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
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
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.
| Campo | Informações a serem registradas |
|---|---|
| Resposta | Público ou personalizado; Dimensões |
| Camada | Cache, proprietário e chave |
| Política | Retenção, atualização e validação |
| Teste | Conta 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
| Mecanismo | Finalidade | Verificação ou limitação |
|---|---|---|
| no-cache | Permitir armazenamento com validação necessária | Não interprete como ausência de armazenamento |
| Privado não qualificado | Excluir cache compartilhado | Não interprete como garantia de confidencialidade |
| no-store | Impedir o armazenamento HTTP relevante | Verificar caches e histórico do aplicativo separadamente |
Indicadores de gestão
| Indicador | O que mede | Primeira ação |
|---|---|---|
| Separação de contas | Sem marcador de outra conta | Inspecionar corpo, links e metadados |
| Idade e validação | Reutilização consistente com a política | Testar expiração e origem indisponível |
| Atraso de invalidação | Tempo até a representação corrigida | Nomear 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 .






