A Media CDN disponibiliza conteúdo o mais próximo possível dos usuários usando a infraestrutura global de armazenamento em cache de borda do Google para armazenar conteúdo em cache e reduzir a carga na infraestrutura de origem.
É possível controlar como o conteúdo é armazenado em cache para cada rota. Isso permite otimizar o comportamento com base no tipo de conteúdo, nos atributos da solicitação do cliente e nos seus requisitos de atualização.
Capacidade de armazenamento em cache
As seções a seguir descrevem quais respostas a Media CDN armazena em cache e como melhorar o descarregamento de cache.
Comportamento de armazenamento em cache padrão
Por padrão, as seguintes configurações relacionadas ao cache são aplicadas a cada serviço do Edge Cache:
Modo de cache padrão de
CACHE_ALL_STATIC:- Respeita as diretivas de cache de origem, como
Cache-ControlouExpires, até um TTL máximo configurável. - Armazena automaticamente em cache tipos de mídia estática com um TTL padrão de 3.600 segundos, se não houver diretivas de cache de origem.
- Armazena em cache os códigos de status HTTP 200, 204 e 206 (o armazenamento em cache negativo não está ativado).
- Respeita as diretivas de cache de origem, como
Não armazena em cache respostas com diretivas
no-storeouprivatede controle de cache ou que não podem ser armazenadas em cache.
As respostas que não são conteúdo estático ou que não têm diretivas de cache válidas não são armazenadas em cache, a menos que o armazenamento em cache seja configurado explicitamente. Para saber como substituir o comportamento padrão, consulte a documentação sobre modos de cache .
O comportamento padrão é equivalente ao seguinte cdnPolicy. As rotas sem um cdnPolicy explícito configurado se comportam como se tivessem a seguinte configuração:
cdnPolicy: cacheMode: CACHE_ALL_STATIC defaultTtl: 3600s cacheKeyPolicy: includeProtocol: false excludeHost: false excludeQueryString: false signedRequestMode: DISABLED negativeCaching: false
Respostas armazenáveis em cache
Uma resposta armazenável em cache é uma resposta HTTP que o Media CDN pode armazenar e recuperar rapidamente, possibilitando tempos de carregamento mais rápidos. Nem todas as respostas HTTP são armazenáveis em cache.
É possível configurar modos de cache para cada rota e substituir esse comportamento. Por exemplo, use o modo de cache CACHE_ALL_STATIC para armazenar em cache tipos de mídia comuns, mesmo que a origem não defina uma diretiva de controle de cache na resposta.
As solicitações e respostas que atendem aos critérios definidos em respostas não armazenáveis em cache substituem a capacidade de armazenamento em cache.
A tabela a seguir descreve os requisitos para armazenar em cache respostas HTTP específicas. As respostas GET e HEAD precisam obedecer a esses requisitos.
| Atributo HTTP | Requisitos |
|---|---|
| Código de status | O código de status da resposta precisa ser um destes: 200, 203, 204, 206, 300, 301, 302, 307, 308, 400, 403, 404, 405, 410, 451, 500, 501, 502, 503 ou 504. |
| Métodos HTTP | GET e HEAD |
| Cabeçalhos das solicitações | A maioria das diretivas de solicitação de armazenamento em cache é ignorada. Para mais informações, consulte Diretivas de controle de cache. |
| Cabeçalhos de resposta | Contém uma diretiva de armazenamento em cache HTTP válida, como Tem um modo de cache que armazena esse conteúdo em cache ou um cabeçalho |
| Tamanho da resposta | Até 100 GiB. |
O cabeçalho HTTP Age é definido
com base em quando o Media CDN armazenou em cache a resposta pela primeira vez e
normalmente representa os segundos desde que o objeto foi armazenado em cache em um local de
proteção de origem. Se
sua origem gerar um cabeçalho de resposta "Age", use o modo de cache FORCE_CACHE_ALL
para evitar revalidações quando a idade exceder o TTL do cache.
Para mais informações sobre como a Media CDN interpreta as diretivas de armazenamento em cache HTTP, consulte Diretivas de controle de cache.
Requisitos de origem
Para permitir que o Media CDN armazene em cache respostas de origem maiores que
1 MiB, uma origem precisa incluir o seguinte nos cabeçalhos de resposta para
solicitações GET, a menos que especificado de outra forma:
- Um cabeçalho de resposta HTTP
Last-ModifiedouETag(um validador). - Um cabeçalho HTTP
Dateválido. - Um cabeçalho
Content-Lengthválido. - O cabeçalho de resposta
Content-Range, em resposta a uma solicitaçãoRange GET. O cabeçalhoContent-Rangeprecisa ter um valor válido na forma debytes x-y/z, em quezé o tamanho do objeto.
O protocolo de origem padrão é HTTP/2. Se as origens forem compatíveis apenas com HTTP/1.1, defina o campo de protocolo explicitamente para cada origem.
Respostas não armazenáveis em cache
A tabela a seguir detalha os atributos de solicitação e resposta que impedem o armazenamento em cache de uma resposta. As respostas que podem ser armazenadas em cache, mas que correspondem a critérios "não armazenáveis em cache", não são armazenadas em cache.
| Atributo HTTP | Requisito |
|---|---|
| Código de status | Um código de status diferente daqueles definidos como armazenáveis em cache, como HTTP 401, HTTP 412 ou HTTP 505. Esses códigos de status normalmente representam problemas voltados ao cliente e não o status da origem. O armazenamento em cache dessas respostas pode levar a cenários de "envenenamento de cache", em que uma resposta "ruim" acionada pelo usuário é armazenada em cache para todos os usuários. |
| Cabeçalhos das solicitações |