O Edge Security Acceleration (ESA) armazena recursos estáticos do servidor de origem no ponto de presença (POP) mais próximo de cada cliente, reduzindo a latência. Cada POP inclui um componente de cache. Quando uma solicitação ou resposta de origem passa por um POP, esse componente armazena os recursos de origem e atribui um tempo de vida (TTL).
O TTL de cache do navegador global aplica-se a todas as solicitações, não apenas aos tipos de recurso definidos pelas extensões de arquivo em cache padrão.
Política de cache padrão
As configurações de cache aplicam-se somente a solicitações roteadas para o componente de cache do ESA. O ESA utiliza as etapas a seguir para determinar se uma solicitação entra no cache:
Verifique se a solicitação é do tipo GET ou HEAD.
Verifique se a solicitação atende às condições especificadas em uma regra de cache. Nesse caso, a regra de cache prevalece sobre as configurações globais de cache para essa solicitação. Para obter mais informações, consulte Regras de cache para respostas bem-sucedidas e redirecionamentos.
Confira se a extensão do arquivo está listada nas extensões de arquivos em cache padrão. Em caso afirmativo, as configurações globais de cache serão aplicadas à solicitação.
Extensões de arquivos em cache padrão
Por padrão, o ESA armazena um arquivo em cache apenas se sua extensão corresponder a uma das listadas abaixo. A regra de cache correspondente determina o TTL.
Se os tipos de recurso que você deseja armazenar em cache não estiverem na lista a seguir, crie uma regra de cache para esses tipos. Para obter mais informações, consulte Regras.
Extensões de arquivo suportadas por categoria:
-
Documentos:
DOC e DOCX: documentos do Microsoft Word.
PPT e PPTX: apresentações do Microsoft PowerPoint.
PDF: documentos portáteis.
CSV: arquivos de valores separados por vírgula.
-
Arquivos de imagem:
BMP: imagens de mapa de bits.
GIF: imagens no formato Graphics Interchange Format (GIF).
ICO: imagens de ícone.
JPEG e JPG: imagens no formato Joint Photographic Experts Group (JPEG).
PNG: imagens no formato Portable Network Graphics (PNG).
SVG e SVGZ: imagens no formato Scalable Vector Graphics (SVG).
TIF e TIFF: imagens no formato Tagged Image File Format (TIFF).
WEBP: imagens WebP com suporte a compressão com e sem perdas.
-
Arquivos de áudio:
MP3: arquivos MPEG-1 Audio Layer III (MP3).
FLAC: arquivos Free Lossless Audio Codec (FLAC).
MID e MIDI: arquivos Musical Instrument Digital Interface (MIDI).
-
Arquivos de vídeo:
AVI: arquivos Audio Video Interleave (AVI).
MP4: arquivos MPEG-4 (MP4).
MKV: arquivos Matroska Video (MKV).
WEBM: formato de contêiner de mídia aberto com suporte a vídeo e áudio.
-
Arquivos compactados:
7Z: arquivos 7-Zip.
GZ: arquivos GNU Gzip.
RAR: arquivos RAR.
TAR: arquivos TAR.
ZIP: arquivos ZIP.
ZST: arquivos Zstandard.
-
Arquivos executáveis (programas executáveis/pacotes de instalação):
APK: arquivos de pacote Android.
BIN: arquivos binários, frequentemente usados para atualizações de firmware.
CLASS: arquivos de bytecode Java.
DMG: arquivos de imagem de disco macOS.
EXE: arquivos executáveis do Windows.
JAR: arquivos Java archive (JAR).
MSI: arquivos de instalador do Windows.
ISO: arquivos de imagem ISO.
-
Arquivos de fonte:
EOT: arquivos de fonte Embedded OpenType (EOT).
OTF: arquivos de fonte OpenType (OTF).
TTF: arquivos de fonte TrueType (TTF).
WOFF e WOFF2: arquivos Web Open Font Format (WOFF).
-
Arquivos de script e código:
CSS: arquivos Cascading Style Sheets (CSS).
EJS: arquivos de modelo Embedded JavaScript (EJS).
JS: arquivos JavaScript (JS).
Arquivos de design e gráficos vetoriais:
EPS: arquivos Encapsulated PostScript (EPS).
PICT: arquivos Apple PICT.
PS: arquivos PostScript (PS).
SWF: arquivos Shockwave Flash (SWF).
-
Honor Origin TTL or Use Default Cache Rule: Se a resposta do servidor de origem contiver os cabeçalhos
Cache-Control,Expires,Last-ModifiedeETagpara definir uma política de cache, o ESA utilizará a política de cache do servidor de origem. Caso a resposta não contenha nenhum dos cabeçalhosCache-Control,Expires,Last-ModifiedeETag, o ESA armazenará os recursos em cache com base na política de cache padrão do ESA. -
Honor Origin TTL or Do Not Cache: Se a resposta do servidor de origem contiver o cabeçalho
Cache-Controlpara definir uma política de cache, o ESA usará a política de cache do servidor de origem. Caso a resposta não contenha o cabeçalhoCache-Control, o ESA não armazenará os recursos em cache. Do Not Cache: Nenhum recurso recuperado do servidor de origem é armazenado em cache nos POPs do ESA.
Use Custom TTL: O ESA ignora os cabeçalhos
Cache-Control,Expires,Last-ModifiedeETagda política de cache na resposta de origem e utiliza o TTL definido no ESA.-
Para os códigos de status 204, 305, 404, 405, 414, 424, 429, 500, 501, 502, 503 e 504, as regras de cache são as seguintes:
Se o servidor de origem retornar um cabeçalho de resposta
set-cookie, a resposta não será armazenada em cache.-
Caso o servidor de origem não retorne um cabeçalho de resposta
set-cookie, o sistema verificará se há um TTL configurado para o código de status no console:Se houver um TTL configurado, a resposta será armazenada em cache conforme as definições do console. Quando houver várias regras definidas, a regra com o menor número ordinal entrará em vigor.
Na ausência de TTL configurado, a resposta será armazenada em cache com base nos cabeçalhos de resposta
Pragma,Cache-ControlouExpiresdo servidor de origem.
Se o servidor de origem não retornar os cabeçalhos de resposta
Pragma,Cache-ControlouExpires, a resposta será armazenada em cache por 1 segundo por padrão.
-
Para os códigos de status 302, 307 e 403, as regras de cache são as seguintes:
Se o servidor de origem retornar um cabeçalho de resposta
set-cookie, a resposta não será armazenada em cache.-
Caso o servidor de origem não retorne um cabeçalho de resposta
set-cookie, o sistema verificará se há um TTL configurado para o código de status no console:Se houver um TTL configurado, a resposta será armazenada em cache conforme as definições do console. Quando houver várias regras definidas, a regra com o menor número ordinal entrará em vigor.
Na ausência de TTL configurado, a resposta será armazenada em cache com base nos cabeçalhos de resposta
Pragma,Cache-ControlouExpiresdo servidor de origem.
Se o servidor de origem não retornar os cabeçalhos de resposta
Pragma,Cache-ControlouExpires, a resposta não será armazenada em cache.
-
Para outros códigos de status de erro, como 400, as regras de cache são as seguintes:
Se o servidor de origem retornar um cabeçalho de resposta
set-cookie, a resposta não será armazenada em cache.Caso o servidor de origem não retorne um cabeçalho de resposta
set-cookie, o sistema verificará se há um TTL configurado para o código de status no console. Quando houver várias regras definidas, a regra com o menor número ordinal entrará em vigor.Em todos os outros casos, a resposta não será armazenada em cache.
-
Para solicitações que usam busca de origem por intervalo, se um POP receber uma resposta com código de status diferente de 206 do servidor de origem, o POP excluirá os fragmentos de arquivo em cache. Um tempo limite de busca de origem não causa a exclusão dos arquivos em cache.
Ao usar a busca de origem por intervalo, o servidor de origem divide um arquivo grande em vários fragmentos menores e os envia ao POP. Por exemplo, se um arquivo for dividido em 10 fragmentos e o POP já tiver armazenado 5 deles em cache, quando o POP solicitar o 6º fragmento e o servidor de origem retornar um código de status 5xx, o POP excluirá todos os 5 fragmentos armazenados.
-
Ali-Swift-Global-Savetime: Hora em que o recurso entrou pela primeira vez no POP do ESA (determinado pela arquitetura de cache do site, que pode ser um POP L2 ou um POP em outra camada de cache).
Seu valor é um carimbo de data/hora UNIX. Por exemplo:
1745053111indica16:58:31 em 19 de abril de 2025.
-
Date: Data em que o servidor de origem retorna o recurso ao POP do ESA.
A data é atualizada quando o POP do ESA inicia uma solicitação de origem contendo o cabeçalho
If-Modified-SinceouIf-None-Matchpara revalidar o recurso e o servidor de origem retorna o código de status HTTP 304.A hora está no formato GMT. Exemplo:
Sat, 19 Apr 2025 08:58:31 GMT.
-
X-Site-Cache-Status: Status de cache do recurso solicitado no POP do ESA. A lista a seguir descreve os estados do recurso:
HIT: O recurso foi encontrado no cache do POP do ESA.
MISS: O recurso não foi encontrado no cache do POP do ESA. O POP recupera o recurso do servidor de origem e o retorna ao cliente.
-
NONE/UNKNOWN: O recurso não é elegível para cache pelos seguintes motivos:
Uma função de borda gera uma resposta, mas não envia nenhuma subsolicitação. Nesse caso, a resposta não vem do cache e o status de cache é registrado como
none/unknown.Quando a solicitação principal de uma função de borda inicia uma subsolicitação (
fetch), o status de cache é registrado para a subsolicitação, enquanto o status de cache da solicitação principal é registrado comonone/unknown. Isso ocorre porque o módulo de função de borda é executado antes do módulo de cache, impedindo que a solicitação principal passe pelo cache.Uma solicitação de cliente atinge uma regra personalizada do WAF e é bloqueada pelo WAF. Como o WAF é executado antes do módulo de cache, a solicitação não passa pelo cache e o status de cache é registrado como
none/unknown.Uma solicitação de cliente atinge um Redirecionamento de solicitação ou uma Regra HTTPS. O POP então envia uma resposta de redirecionamento para outra URL. Como essas regras são executadas antes do módulo de cache, o status de cache é registrado como
none/unknown.
EXPIRED: O recurso foi encontrado no cache do POP do ESA, mas expirou. O POP recupera o recurso do servidor de origem e o retorna ao cliente. O código de status retornado pelo servidor de origem é 200 ou 206.
-
STALE:
O recurso é servido a partir do cache do POP do ESA, mas expirou. Isso ocorre nos seguintes casos:
A configuração de cache é Honor Origin TTL e a resposta de origem contém
Cache-Control:stale-while-revalidate=<seconds>. Dentro do tempo especificado, o ESA inicia uma solicitação ao servidor de origem para revalidar o recurso e serve o cache expirado ao cliente.A configuração de cache é Honor Origin TTL e a resposta de origem contém
Cache-Control:stale-if-error=<seconds>. Dentro do tempo especificado, o ESA serve o cache expirado ao cliente quando o ESA não consegue se conectar ao servidor de origem para recuperar o recurso atualizado.O recurso Configurar Servir Conteúdo Obsoleto está ativado. Esse recurso permite que o POP do ESA sirva o cache expirado ao cliente quando a resposta de origem atingir o tempo limite ou quando o servidor de origem estiver inacessível.
-
BYPASS
A solicitação ao recurso ignora o cache do ESA. Isso ocorre nos seguintes casos:
A configuração de cache não é Honor Origin TTL e o ESA define um TTL de cache personalizado como 0 segundos.
A configuração de cache é Honor Origin TTL, mas o valor do cabeçalho
Cache-Controlretornado pelo servidor de origem éno-store.
-
REVALIDATED
O recurso é servido pelo cache do ESA, mas expirou. O ESA inicia uma solicitação de origem contendo o cabeçalho
If-Modified-Sinceoulf-None-Matchao servidor de origem para revalidar o recurso. O servidor de origem retorna o código de status HTTP 304. -
DYNAMIC
O ESA detecta que o recurso é conteúdo dinâmico e nenhuma regra de cache definida se aplica a essa solicitação. Nesse caso, o ESA recupera o recurso do servidor de origem e o retorna ao cliente.
-
X-Swift-Cachetime: Especifica o TTL do recurso no POP em segundos. O valor deX-Swift-Cachetimenão é igual ao TTL definido no ESA. Ele é calculado usando a seguinte fórmula:X-Swift-Cachetime=Ali-Swift-Global-Savetime+ o TTL definido no ESA -X-Swift-SaveTime. Os seguintes cenários podem ocorrer:O valor de
X-Swift-Cachetimeé igual ao TTL definido no ESA, por exemplo, 3600 segundos.-
O valor de
X-Swift-Cachetimeé ligeiramente menor que o TTL definido no ESA. Por exemplo, se o TTL definido no ESA for 300 segundos, o valor deX-Swift-Cachetimepoderá ser 295 segundos. Essa discrepância pode ocorrer pelos seguintes motivos:Alta latência ocorre quando um nó L1 busca conteúdo de um nó L2.
Os relógios nos nós L1 e L2 não estão sincronizados.
O valor de
X-Swift-Cachetimeé negativo. Isso pode ocorrer se você alterar a configuração de TTL no ESA após um recurso ser armazenado em cache. Isso acontece quando uma solicitação de cliente chega após a expiração do cache do nó L1, mas enquanto o cache do nó L2 ainda é válido. Por exemplo, o TTL foi originalmente definido como 3600 segundos no ESA e posteriormente alterado para 300 segundos. Se um cliente enviar uma solicitação 600 segundos após o recurso ter sido armazenado em cache, a resposta incluiráX-Swift-Cachetime:-300. Para resolver esse problema, atualize o cache.
-
X-Swift-Cachetime:
O TTL de cache do recurso no POP do ESA. Unidade: segundos.
-
X-Swift-SaveTime:
A hora em que o recurso entrou pela primeira vez no POP atual (POP L1) que recebe a solicitação do cliente.
A hora está no formato GMT. Exemplo:
Sat, 19 Apr 2025 08:58:31 GMT.
Edge Cache TTL na página Settings do ESA está definido como Honor Origin TTL or Do Not Cache e a resposta de origem é
Cache-Control: no-store.[CONREF:app_site_cache_configuration_node_expiration_title] na página Settings do ESA está definido como Do Not Cache.
[CONREF:app_site_cache_configuration_node_expiration_title] na página Settings do ESA está definido como Use Custom TTL e o TTL de cache está definido como 0 segundos.
-
Configuração de política especial: Um arquivo é armazenado em cache por 0 segundos, e o POP do ESA redireciona cada solicitação ao servidor de origem para validação.
-
Edge Cache TTL na página Settings do ESA está definido como Honor Origin TTL or Use Default Cache Rule, e a resposta de origem atende às seguintes condições:
Cache-Control: no-cacheCache-Control: max-age=0
-
-
Configuração de política regular: O servidor de origem responde à política relacionada à validação de cache, e o POP do ESA executa a política real.
-
Edge Cache TTL na página Settings do ESA está definido como Honor Origin TTL or Use Default Cache Rule, e a resposta de origem atende a uma das seguintes políticas de validação de cache:
must-revalidateproxy-revalidatestale-while-revalidate=secondsstale-if-error=seconds
-
-
Política de validação de cache
Políticas de validação de cache:
-
must-revalidate
Descrição: Uma vez expirado, qualquer cache (proxy ou navegador) deve revalidar o recurso com o servidor de origem antes de servi-lo. O cache não pode servir conteúdo expirado mesmo se a rede estiver indisponível, a menos que o recurso tenha sido validado como inalterado.
Exemplo:
Cache-Control: max-age=3600, must-revalidateindica que um recurso deve ser retornado ao servidor de origem para validar sua atualização após a expiração do recurso.
-
proxy-revalidate
Descrição: Semelhante a
must-revalidate, mas aplica-se apenas a caches compartilhados (CDN, servidores proxy). Caches privados, como navegadores, não estão sujeitos a essa restrição.Exemplo:
Cache-Control: max-age=3600, proxy-revalidateindica que um recurso deve ser retornado ao servidor de origem para validar sua atualização após a expiração do recurso.
-
stale-while-revalidate=seconds
Descrição: Após a expiração, o cache serve conteúdo obsoleto pela duração especificada enquanto revalida assincronamente com a origem em segundo plano. Use esta opção quando a redução da latência for mais importante do que servir conteúdo brevemente obsoleto.
Exemplo:
Cache-Control: max-age=3600, stale-while-revalidate=60indica que um recurso é considerado atualizado por 3.600 segundos (1 hora) após sua primeira publicação. Uma vez expirado, o recurso ainda pode ser fornecido aos usuários pelos próximos 60 segundos. Ao mesmo tempo, o POP tenta obter atualizações do servidor de origem.
-
stale-if-error=seconds
Descrição: Quando a origem está inacessível (falha no servidor, erro de rede), o POP serve conteúdo em cache expirado pela duração especificada. Isso melhora a tolerância a falhas e mantém a disponibilidade durante interrupções na origem.
Exemplo:
Cache-Control: max-age=86400, stale-if-error=604800indica que um recurso é considerado atualizado por 86.400 segundos (24 horas) após sua primeira publicação. Se a revalidação após os 86.400 segundos falhar, o último recurso armazenado em cache com sucesso ainda poderá ser fornecido pelos próximos 604.800 segundos (uma semana).
-
|
7Z |
CSV |
GIF |
MIDI |
PNG |
TIF |
ZIP |
|
AVI |
DOC |
GZ |
MKV |
PPT |
TIFF |
ZST |
|
AVIF |
DOCX |
ICO |
MP3 |
PPTX |
TTF |
|
|
APK |
DMG |
ISO |
MP4 |
PS |
WEBM |
|
|
BIN |
EJS |
JAR |
OGG |
RAR |
WEBP |
|
|
BMP |
EOT |
JPG |
OTF |
SVG |
WOFF |
|
|
BZ2 |
EPS |
JPEG |
|
SVGZ |
WOFF2 |
|
|
CLASS |
EXE |
JS |
PICT |
SWF |
XLS |
|
|
CSS |
FLAC |
MID |
PLS |
TAR |
XLSX |
Regras de cache para respostas bem-sucedidas e redirecionamentos
Códigos de status aplicáveis: 200, 203, 206, 300, 301 e 410.
O TTL de cache de borda possui quatro opções:
Regras de cache para respostas com códigos de status de erro
Informações de resposta de cache
Os POPs do ESA retornam cabeçalhos de resposta relacionados ao cache com as seguintes informações:
Política Do Not Cache
O POP do ESA não armazena arquivos em cache e repassa todas as solicitações de arquivo nas seguintes condições:
Revalidação de cache
Após a expiração de um arquivo em cache no POP do ESA, o POP do ESA envia uma solicitação de validação ao servidor de origem na próxima solicitação do cliente. Se o arquivo não tiver sido alterado, o servidor de origem retorna 304 not-modified, e o POP do ESA serve o arquivo em cache sem baixá-lo novamente. Isso reduz o tráfego de origem e melhora a velocidade de resposta.