--- title: Cache-Control slug: Web/HTTP/Headers/Cache-Control tags: - Cabaçalho genérico - Cabeçalhos HTTP translation_of: Web/HTTP/Headers/Cache-Control ---
O campo de cabeçalho genérico Cache-Control
é usado para especificar diretivas para mecanismos de cache tanto em requisições quanto em respostas. Diretivas de cache são unidirecionais, o que significa que uma dada diretiva em uma requisição não implica em que a mesma seja dada na resposta.
Tipo de cabeçalho | {{Glossary("General header")}} |
---|---|
{{Glossary("Forbidden header name")}} | não |
{{Glossary("Simple response header", "CORS-safelisted response-header")}} | sim |
As diretivas são insensíveis à caixa (case-insensitive) e tem um argumento opcional, que pode usar tanto a sintaxe de token quanto a de cadeias entre aspas. Multiplas diretivas são separadas por virgula.
Diretivas Cache-Control
padrão que podem ser usadas pelo cliente em uma requisição HTTP.
Cache-Control: max-age=<segundos> Cache-Control: max-stale[=<segundos>] Cache-Control: min-fresh=<segundos> Cache-Control: no-cache Cache-Control: no-store Cache-Control: no-transform Cache-Control: only-if-cached
Diretivas Cache-Control
padrão que podem ser usadas pelo servidor em uma resposta HTTP.
Cache-Control: must-revalidate Cache-Control: no-cache Cache-Control: no-store Cache-Control: no-transform Cache-Control: public Cache-Control: private Cache-Control: proxy-revalidate Cache-Control: max-age=<segundos> Cache-Control: s-maxage=<segundos>
Cache-Control
ExtendidasDiretivas Cache-Control
extendidas não são parte do cerne do documento HTTP caching standards. Verifique a tabela de compatibilidade para certificar-se do seu suporte.
Cache-Control: immutable Cache-Control: stale-while-revalidate=<seconds> Cache-Control: stale-if-error=<seconds>
public
private
no-cache
only-if-cached
max-age=<segundos>
Expires
, esta diretiva é relativa à hora da requisição.s-maxage=<segundos>
max-age
ou o cabeçalho Expires
, mas só se aplica a caches compartilhados (p.ex., proxies) e é ignorada por caches privados.max-stale[=<segundos>]
min-fresh=<segundos>
stale-while-revalidate=<segundos>
{{experimental_inline}}stale-if-error=<segundos>
{{experimental_inline}}must-revalidate
proxy-revalidate
must-revalidate
, mas só se aplica a caches compartilhados (p.ex., proxies) e é ignorado por um cache privado.immutable
If-None-Match
ou If-Modified-Since
) a fim de verificar atualiações, mesmo quando o usuário recarrega explicitamente a página. Clientes que não reconhecem esta extensão devem ignorá-la, segundo a especificação HTTP. No Firefox, immutable
é honrado somente em transações https://
. Para mais informações, veja também este blog post.no-store
no-transform
no-transform
não permite isso.Para desligar o armazenamento em cache, você pode enviar o cabeçalho de resposta seguinte. Alem disso, veja também os cabeçalhos Expires
e Pragma
.
Cache-Control: no-cache, no-store, must-revalidate
Para os arquivos da aplicação que não mudarão, você pode usar um cache mais agressivo enviando o cabeçalho de resposta abaixo. Isto inclui arquivos estáticos servidos pela aplicação tais como imagens, arquivos CSS e JavaScript, por exemplo. Veja também o cabeçalho Expires
.
Cache-Control: public, max-age=31536000
Especificação | Título |
---|---|
{{RFC("7234")}} | Hypertext Transfer Protocol (HTTP/1.1): Caching |
{{RFC("5861")}} | HTTP Cache-Control Extensions for Stale Content |
{{RFC("8246")}} | HTTP Immutable Responses |
{{Compat("http.headers.Cache-Control")}}