Una respuesta almacenable en caché es una respuesta HTTP que Cloud CDN puede almacenar y recuperar rápido, lo que permite tiempos de carga más rápidos. No todas las respuestas HTTP pueden almacenarse en caché.
Modos de almacenamiento en caché
Con los modos de almacenamiento en caché, puedes controlar los factores que determinan si Cloud CDN almacena en caché tu contenido.
Cloud CDN ofrece tres modos de almacenamiento en caché, que definen cómo las respuestas se almacenan en caché, si Cloud CDN respeta las directivas de caché que envió el origen y cómo se aplican los TTL de caché.
Los modos de almacenamiento en caché disponibles se muestran en la siguiente tabla:
| Modo de almacenamiento en caché | Comportamiento |
|---|---|
CACHE_ALL_STATIC |
Almacena en caché de forma automática las respuestas exitosas con
contenido estático que, de otra forma,
no se puede almacenar en caché.
Las respuestas de origen que establecen directivas de almacenamiento en caché válidas también se almacenan en caché. Este es el comportamiento predeterminado para los backends habilitados para Cloud CDN que se crean con Google Cloud CLI o la API de REST. |
USE_ORIGIN_HEADERS |
Requiere respuestas de origen exitosas para establecer directivas y encabezados de
almacenamiento en caché válidos. Las respuestas exitosas sin estas directivas
se reenvían desde el origen. |
FORCE_CACHE_ALL |
Almacena en caché las respuestas exitosas sin excepción y se anulan las directivas de caché que estableció el origen. Este modo no es apropiado si el backend entrega contenido privado por usuario (lo que permita identificarlo), como respuestas de la API o HTML dinámicas. |
Las respuestas de error pueden almacenarse en caché incluso si no hay directivas de caché válidas.
Antes de configurar el modo de almacenamiento en caché en FORCE_CACHE_ALL, considera los siguientes
comportamientos:
Para las URLs o cookies firmadas,
FORCE_CACHE_ALLanula la antigüedad máxima especificada a través del parámetro de configuración Antigüedad máxima de la entrada en la caché en la consola de Google Cloud o en la opcióngcloud --signed-url-cache-max-age.FORCE_CACHE_ALLcambia el tiempo de actividad (TTL) de cualquier contenido que se haya almacenado en caché con anterioridad. Este cambio puede hacer que algunas entradas que antes se consideraron actualizadas (debido a tener unos TTL más largos de los encabezados de origen) se consideren inactivas, y puede causar que algunas entradas que antes se consideraron inactivas se consideren actualizadas.FORCE_CACHE_ALLanula las directivas de caché (Cache-ControlyExpires), pero no anula otros encabezados de respuesta de origen. En particular, un encabezadoVarypodría suprimir el almacenamiento en caché incluso si el modo de caché esFORCE_CACHE_ALL. Para obtener más información, consulta Encabezados Vary.
Para obtener instrucciones de configuración, consulta Configura el modo de almacenamiento en caché.
Contenido estático
El contenido estático es siempre el mismo, incluso cuando acceden usuarios diferentes. El CSS que usas a la hora de diseñar tu sitio y JavaScript, para proporcionar interactividad, video y contenido de imagen, no suelen cambiar para cada usuario de una URL determinada (clave de caché), de modo que se benefician de almacenarse en caché en la red perimetral global de Cloud CDN.
Cuando configuras el modo de almacenamiento en caché como CACHE_ALL_STATIC y una respuesta
no tiene directivas de almacenamiento en caché explícitas en los encabezados Cache-Control o Expires,
Cloud CDN almacena en caché esa respuesta de forma automática para lo
siguiente:
- Activos web, como CSS (
text/css), JavaScript (application/javascript) y todas las fuentes web, incluido WOFF2 (font/woff2) - Imágenes, incluidos JPEG (
image/jpg) y PNG (image/png) - Videos, incluidos H.264, H.265 y MP4 (
video/mp4) - Archivos de audio, incluidos MP3 (
audio/mpeg) y MP4 (audio/mp4) - Documentos con formato, incluido PDF (
application/pdf)
En la siguiente tabla, se proporciona un resumen.
| Categoría | Tipos de MIME |
|---|---|
| Elementos web | text/css text/ecmascript text/javascript application/javascript |
| Fuentes | Cualquier Content-Type que coincida con font/* |
| Imágenes | Cualquier Content-Type que coincida con image/* |
| Videos | Cualquier Content-Type que coincida con video/* |
| Audio | Cualquier Content-Type que coincida con audio/* |
| Tipos de documentos con formato | application/pdf y application/postscript |
Cloud CDN inspecciona el encabezado de respuesta HTTP Content-Type, que refleja el tipo de MIME del contenido que se entrega.
Ten en cuenta lo siguiente:
El software del servidor web de origen debe configurar el
Content-Typepara cada respuesta. Muchos servidores web configuran de forma automática el encabezadoContent-Type, incluidos NGINX, Varnish y Apache.Cloud Storage configura el encabezado
Content-Typede forma automática cuando usas la consola de Google Cloud o la Google Cloud CLI para subir contenido.Cloud Storage siempre brinda un encabezado
Cache-Controla Cloud CDN. Si no se elige un valor de forma explícita, se envía un valor predeterminado. Como resultado, todas las respuestas exitosas de Cloud Storage se almacenan en caché según los valores predeterminados de Cloud Storage, a menos que ajustes de forma explícita los metadatos de control de caché para los objetos en Cloud Storage o uses el modoFORCE_CACHE_ALLpara anular los valores que envía Cloud Storage.Si deseas almacenar en caché tipos de contenido
text/htmlyapplication/json, debes configurar encabezadosCache-Controlexplícitos en la respuesta, con cuidado de no almacenar en caché los datos de un usuario y entregarlos a todos los usuarios por accidente.
Si una respuesta se puede almacenar en caché según su tipo de MIME, pero tiene un encabezado de respuesta
Cache-Control de private ono-store, o un encabezado Set-Cookie,
no se almacena en caché. Para obtener más información, consulta las reglas de almacenamiento en caché.
Otros tipos de contenido, como HTML (text/html) y JSON
(application/json), no se almacenan en caché de forma predeterminada para obtener respuestas exitosas. Estos
tipos de respuestas suelen ser dinámicas (por usuario). Algunos ejemplos son los carritos
de compras, las páginas de productos con la personalización del usuario y las respuestas de la API autenticadas. Sin embargo, si el almacenamiento en caché negativo está habilitado,
aún puede hacer que estos se almacenen para ciertos códigos de estado.
Cloud CDN no usa extensiones de archivo en la ruta de URL para determinar si una respuesta se puede almacenar en caché, ya que muchas respuestas válidas que pueden almacenarse así no se reflejan en las URLs.
Contenido que se puede almacenar en caché
Cloud CDN almacena en caché las respuestas que cumplen con todos los requisitos de esta sección. El RFC 7234 especifica algunos de estos requisitos, y otros son característicos de Cloud CDN.
Cloud CDN puede cambiar periódicamente el conjunto de condiciones exacto en el que se almacena en caché el contenido. Si deseas evitar de forma explícita que Cloud CDN almacene en caché tu contenido, sigue los lineamientos de RFC 7234 para determinar cómo especificar una respuesta garantizada no almacenable en caché. Consulta también la sección Contenido que no se puede almacenar en caché según los encabezados de origen.
Cloud CDN almacena las respuestas en caché si se cumplen todas las condiciones que figuran a continuación.
| Atributo | Requisito |
|---|---|
| Entregado por | Servicio de backend, bucket de backend o un backend externo con Cloud CDN habilitado |
| En respuesta a | Solicitud GET |
| Código de estado |
|
| Actualización | La respuesta
tiene un encabezado Para las respuestas que pueden almacenarse en caché sin una antigüedad (por ejemplo, con
Con el modo de almacenamiento en caché Con el modo de almacenamiento en caché Si el almacenamiento en caché negativo está habilitado y el código de estado coincide con uno para el que este almacenamiento especifica un TTL, la respuesta es apta para el almacenamiento en caché, incluso sin directivas de actualización explícitas. |
| Contenido | Para los orígenes HTTP/1, la respuesta debe contener un encabezado
En el caso de los orígenes que usan versiones más avanzadas del protocolo HTTP (HTTP/2 y posteriores), la respuesta no necesita tener esos encabezados. |
| Tamaño | Menor o igual que el tamaño máximo.
Para las respuestas con tamaños entre 10 MiB y 100 GiB, consulta las restricciones adicionales de capacidad de almacenamiento en caché que se describen en las solicitudes de rango de bytes. |
Para los buckets de backend de Cloud Storage, sigue estas sugerencias adicionales:
Haz que el bucket sea legible de forma pública. Este es el enfoque que recomendamos para el contenido público. Con esta configuración, cualquier persona en Internet puede ver y enumerar tus objetos y sus metadatos, sin incluir las LCA. Se recomienda dedicar buckets específicos para objetos públicos.
Usa carpetas administradas para hacer que una parte de tu bucket sea legible de forma pública.
Haz que los objetos individuales se puedan leer de forma pública. No recomendamos este enfoque, ya que utiliza un sistema de permisos heredado y específico de Cloud Storage.
No almacenes el objeto en un bucket que tenga habilitada la opción Pagos del solicitante ni que resida dentro de un perímetro de servicio de la nube privada virtual.
No encriptes el objeto con claves de encriptación administradas por el cliente ni con claves de encriptación proporcionadas por el cliente.
De forma predeterminada, cuando un objeto es público y no especifica metadatos
Cache-Control, Cloud Storage le asigna un encabezado
Cache-Control: public, max-age=3600. Puedes configurar diferentes valores usando los
metadatos Cache-Control.
Para ver un ejemplo que muestra cómo configurar un balanceador de cargas de aplicaciones externo con un bucket de backend, consulta Configura Cloud CDN con un bucket de backend.
Tamaño máximo
Cloud CDN aplica un tamaño máximo para cada respuesta. Toda respuesta que tenga un cuerpo mayor que el tamaño máximo no se almacenará en la memoria caché, pero se entregará al cliente.
El tamaño máximo varía en función de si el servidor de origen admite solicitudes de rango de bytes.
| El servidor de origen es compatible con solicitudes de rango de bytes | El servidor de origen no es compatible con solicitudes de rango de bytes |
|---|---|
| 100 GiB (107,374,182,400 bytes). | 10 MiB (10,485,760 bytes) |
Casi todos los servidores web modernos (incluidos NGINX, Apache y Varnish) admiten solicitudes de rango de bytes.
Contenido que no se puede almacenar en caché según los encabezados de origen
Hay controles que bloquean el almacenamiento en caché de las respuestas. Es posible que Cloud CDN cambie periódicamente el conjunto exacto de condiciones en las que almacena en caché el contenido. Por esta razón, si deseas evitar de forma explícita que Cloud CDN almacene el contenido en caché, sigue los lineamientos del estándar (RFC 7234) para determinar cómo especificar una respuesta garantizada no almacenable en caché.
Cloud CDN no almacena en caché una respuesta si no cumple con los requisitos de Contenido que se puede almacenar en caché o si se cumple alguna de las siguientes condiciones.
| Atributo | Requisito |
|---|---|
| Entregado por | Servicio de backend o backend externo que no tiene habilitado Cloud CDN |
| Cookie | Tiene un encabezado Set-Cookie |
Encabezado Vary |
Tiene un valor distinto de Accept,
Accept-Encoding,
Access-Control-Request-Headers,
Access-Control-Request-Method, Origin,
Sec-Fetch-Dest, Sec-Fetch-Mode,
Sec-Fetch-Site, X-Goog-Allowed-Resources,
X-Origin o uno de los encabezados configurados para formar
parte de la configuración de la clave de caché.
|
| Directiva de respuesta | La respuesta tiene un encabezado Cache-Control con la directiva
no-store o private
(a menos que se use el modo de almacenamiento en caché FORCE_CACHE_ALL,
en cuyo caso se ignorará el encabezado Cache-Control). |
| Directiva de solicitud | La solicitud tiene una directiva Cache-Control: no-store |
| Solicitar autorización | La solicitud tiene un encabezado Authorization, a menos
que la respuesta de control de caché lo
anule. |
| Tamaño | Más grande que el tamaño máximo |
Si Cache-Control: no-store o private están presentes, pero el
contenido todavía se almacena en caché, se debe a uno de los siguientes motivos:
- Se configuró la firma de URL
- El modo de almacenamiento en caché de Cloud CDN se configuró para forzar el almacenamiento en caché de todas las respuestas
Cómo evitar el almacenamiento en caché
Para evitar que la información privada se almacene en caché en Cloud CDN, haz lo que se detalla a continuación:
- Asegúrate de que el modo de almacenamiento en caché de Cloud CDN
no esté configurado en el modo
FORCE_CACHE_ALL, que almacena en caché todas las respuestas sin excepción. - Incluye un encabezado
Cache-Control: privateen las respuestas que no deben almacenarse en cachés de Cloud CDN o un encabezadoCache-Control: no-storeen las respuestas que no deben almacenarse en ninguna caché, ni siquiera en la de un navegador web. - No firmes URLs que brinden acceso a información
privada. Cuando se accede al contenido con una URL firmada, puede ser
apto para el almacenamiento en caché, sin importar las directivas
Cache-Controlen la respuesta. - Para las solicitudes de origen (llenado de caché) que incluyen el encabezado de
la solicitud
Authorization, Cloud CDN solo almacena en caché las respuestas que incluyen la directiva de control de cachépublic,must-revalidateos-maxagecuando el modo de almacenamiento en caché está configurado enUSE_ORIGIN_HEADERSoCACHE_ALL_STATIC. Esto evita el almacenamiento en caché accidental o el contenido por usuario que requiere autenticación. El modo de almacenamiento en cachéFORCE_CACHE_ALLno tiene esta restricción.
Encabezados de respuesta personalizados
Con los encabezados de respuesta personalizados, puedes especificar encabezados que el balanceador de cargas de aplicaciones clásico agrega a las respuestas que se envían a través de proxy. Los encabezados de respuesta personalizados te permiten reflejar el estado de la caché para tus clientes, los datos geográficos del cliente y tus propios encabezados de respuesta estática.
Para obtener instrucciones, consulta Configura encabezados de respuesta personalizados.
Claves de caché
Cada entrada de caché en una memoria caché de Cloud CDN se identifica a través de una clave de caché. Cuando una solicitud ingresa a la caché, la memoria caché convierte el URI de la solicitud en una clave de caché y, luego, la compara con las claves de las entradas almacenadas en caché. Si encuentra una coincidencia, la caché devuelve el objeto asociado con esa clave.
De forma predeterminada, Cloud CDN usa el URI de solicitud completo como la clave de caché para los servicios de backend.
Por ejemplo, https://example.com/images/cat.jpg es el URI completo de una
solicitud específica para el objeto cat.jpg. Esta cadena se usa como la clave de caché
predeterminada. Solo coinciden las solicitudes que poseen esta cadena exacta. Las solicitudes de
http://example.com/images/cat.jpg o
https://example.com/images/cat.jpg?user=user1 no coinciden.
En los buckets de backend, el valor predeterminado de la clave de caché consiste en el URI sin el protocolo o el host. De forma predeterminada, solo los parámetros de consulta que se conocen en Cloud Storage se incluyen como parte de la clave de caché (por ejemplo, "generación").
Por lo tanto, para un bucket de backend determinado, los siguientes URI se resuelven en el mismo objeto almacenado en caché:
http://example.com/images/cat.jpghttps://example.com/images/cat.jpghttps://example.com/images/cat.jpg?user=user1http://example.com/images/cat.jpg?user=user1https://example.com/images/cat.jpg?user=user2https://media.example.com/images/cat.jpghttps://www.example.com/images/cat.jpg
Puedes cambiar qué partes del URI se usan en la clave de caché. Si bien el nombre de archivo y la ruta de acceso siempre deben formar parte de la clave, puedes incluir, o bien omitir, cualquier combinación de protocolo, host o cadena de consulta cuando personalices la clave de caché. En Usa claves de caché se describe cómo personalizar las claves de caché.
| Parte del URI | Personalización | URL de ejemplo que tienen la misma clave de caché |
|---|---|---|
| Protocolo | Omite el protocolo desde la clave de caché. |
|
| Host | Omite el host de la clave de caché. |
|
| String de consulta | Omite la string de consulta en la clave de caché. Omite o incluye partes de la string de consulta de manera selectiva. |
|
Además de omitir o incluir toda la cadena de consulta, puedes usar partes de esa cadena con el uso de listas de inclusiones y exclusiones.
Lista de inclusiones de la cadena de consulta
Puedes controlar de manera selectiva qué parámetros de la cadena de
consulta se incorporan a las claves de caché de Cloud CDN. Por ejemplo, si creas una lista de inclusiones de
user, entonces https://example.com/images/cat.jpg?user=user1&color=blue
crea una clave de caché de https://example.com/images/cat.jpg?user=user1 que también coincide con https://example.com/images/cat.jpg?user=user1&color=red.
Para usar esta opción, debes incluir la cadena de consulta, especificar una lista de inclusiones que no esté vacía y no especificar una lista de exclusiones.
Lista de inclusiones de la cadena de consulta para las claves de caché de Cloud Storage
Incluir parámetros de consulta de URL en las claves de caché para los buckets de Cloud Storage ayuda a admitir la eliminación de caché. La eliminación de caché permite que un usuario recupere una versión nueva del archivo que se subió, incluso si la versión anterior aún se almacena en caché de forma válida según el parámetro de configuración del TTL.
Puedes usar una lista de inclusiones con parámetros de cadena de consulta en la clave de caché que se usa para entregar respuestas desde un bucket de backend. Aunque Cloud Storage no entrega contenido o rutas diferentes según los parámetros de consulta, puedes optar por incluir parámetros que te permitan almacenar en caché el contenido estático almacenado en buckets de Cloud Storage.
Por ejemplo, puedes agregar un parámetro de consulta ?version=VERSION o ?hash=HASH
que se base en el contenido subyacente. Esta acción limita la necesidad de
invalidar el contenido de manera proactiva y se alinea con los flujos de trabajo modernos del desarrollo web,
en los que los frameworks y las URLs web usan un hash de contenido para evitar entregar objetos obsoletos
en implementaciones.
Debido a que la inclusión de parámetros de consulta en la clave de caché es solo bajo habilitación, Cloud CDN no admite su exclusión desde una clave de caché a un bucket de backend.
Lista de exclusiones de la cadena de consulta
Puedes controlar de manera selectiva qué parámetros de cadena de consulta se ignoran en Cloud CDN
con el uso de una lista de exclusiones. Por ejemplo, si creas una lista de exclusiones de
user, todos los parámetros de la cadena de consulta excepto user se usan en la clave de caché.
Con la lista de exclusiones configurada y una entrada de
https://example.com/images/cat.jpg?user=user1&color=blue, Cloud CDN
crea una clave de caché de https://example.com/images/cat.jpg?color=blue que también
coincide con https://example.com/images/cat.jpg?user=user2&color=blue, pero no con
https://example.com/images/cat.jpg?user=user1&color=red.
Para usar esta opción, debes incluir la cadena de consulta, especificar una lista de exclusiones que no esté vacía y no especificar una lista de inclusiones.
Orden de los parámetros de consulta
La clave de caché generada no depende del orden de los parámetros de consulta.
Por ejemplo, los siguientes parámetros de consulta generan la misma clave de caché:
info=123&variant=13e&geography=USgeography=US&variant=13e&info=123
Configuración de cookies HTTP y encabezados HTTP
Puedes mejorar las tasas de aciertos de caché y la transferencia de origen con los siguientes parámetros de configuración de la clave de caché:
- Para buckets y servicios de backend: Usa encabezados HTTP como parte de las claves de caché incluyendo encabezados con nombre en la configuración de la clave de caché.
- Solo para servicios de backend: Usa cookies HTTP con nombre como claves de caché, como pruebas A/B (multivariable), versiones canary y situaciones similares.
Las solicitudes de caché que incluyen encabezados o cookies HTTP adicionales en la solicitud se almacenan en la tercera solicitud en una ubicación para esa clave de caché. Esto reduce el impacto de los valores de cardinalidad alta de encabezado o cookie en las tasas de expulsión de la caché. En circunstancias y condiciones de tráfico de usuarios normales, esto no debería notarse y ayuda a garantizar que el contenido popular permanezca almacenado en caché.
Incluye encabezados de la solicitud
Para almacenar en caché variaciones adicionales de una respuesta, puedes incluir encabezados de solicitud adicionales en la clave de caché.
Algunos encabezados no están permitidos en las claves de caché porque
suelen tener una cardinalidad muy alta. En la mayoría de los casos, los valores de estos encabezados son
únicos por usuario (Cookie, Authorization) o tienen miles de valores posibles
(Referer, User-Agent, Accept). Por ejemplo, el encabezado User-Agent
puede tener más de 5,000 valores únicos dada la gran variedad de navegadores,
dispositivos de usuario y sistemas operativos. Estos tipos de encabezados tendrían un
impacto negativo grave en las tasas de aciertos de caché.
Solo se aceptan nombres de campo de encabezado HTTP válidos según RFC 7230. Los nombres de campo de encabezado no distinguen mayúsculas de minúsculas, y los duplicados se rechazan.
De manera opcional, puedes configurar tu servidor de origen para que incluya encabezados de la solicitud
de la clave de caché configurados en la respuesta Vary. No es obligatorio para
Cloud CDN, pero puede ser útil para las cachés de downstream. Para obtener más
información, consulta Encabezados Vary.
Cloud CDN no permite que se incluyan los siguientes encabezados en la lista de encabezados:
AcceptAccept-EncodingAuthority, ya que se controla con la configuración (cdnPolicy.includeHost)Authorization, por lo general, por usuario, como en los tokens deBearerde OAuthCDN-LoopConnectionContent-MD5Content-TypeCookieDateForwarded, a menudo, por cliente o por proxyFromHost, ya que se controla con la configuración (cdnPolicy.includeHost)If-Match,If-Modified-SinceoIf-None-MatchOriginProxy-AuthorizationRangeReferer(oReferrer)User-AgentWant-DigestX-CSRFTokenyX-CSRF-Token, según lo que usan Django y Ruby on RailsX-Forwarded-For, a menudo, por cliente o por proxyX-User-IP- Cualquier encabezado que comience con lo siguiente:
Access-Control-, comoAccess-Control-Request-HeadersyAccess-Control-Request-MethodSec-Fetch-Sec-GFE-Sec-Google-X-Amz-X-GFE-X-Goog-X-Google-
Usa variables personalizadas con encabezados de la solicitud
Las claves de caché son útiles cuando necesitas entregar contenido de manera diferente según el dispositivo y la ubicación de cada usuario. Por ejemplo, puedes habilitar un sitio web responsivo para que entregue las imágenes adecuadas para los usuarios que ven contenido según el tipo de dispositivo o establecer un idioma predeterminado útil según su ubicación. Puedes definir claves de caché con encabezados de la solicitud y variables personalizados.
Para usar variables personalizadas con encabezados de la solicitud, haz lo siguiente:
- Define un encabezado de la solicitud personalizado para tu servicio de backend. Incluye una o más variables para el valor del encabezado de la solicitud personalizado.
- Actualiza la clave de caché para usar el encabezado de la solicitud personalizado.
En el caso de Cloud CDN, solo puedes usar las siguientes variables cuando definas encabezados que sean tanto encabezados de la solicitud personalizados como de clave de caché:
device_request_typeuser_agent_familyclient_regionclient_region_subdivision
Cloud CDN limita las variables para ayudar a mantener el rendimiento de la caché. Esto es similar a los límites en los encabezados que se pueden usar como claves de caché.
Por ejemplo, si pudieras especificar X-Lat-Long:{client_city_lat_long} como un
encabezado de la solicitud personalizado y, luego, agregar X-Lat-Long a tu conjunto de encabezados
de clave de caché, Cloud CDN intentaría almacenar en caché una copia de la respuesta para
cada valor de client_city_lat_long. En última instancia, esto generaría un uso excesivo
de la caché, un vaciado innecesario del contenido y una menor oportunidad de devolver aciertos
de caché.
Por estos motivos, las variables con alta cardinalidad no se incluyen en la lista de variables que se usan para definir encabezados de la solicitud personalizados y, posteriormente, claves de caché.
Los mismos encabezados con valores diferentes
Supongamos que el usuario envía varios encabezados con el mismo nombre pero con valores diferentes, por ejemplo:
My-Header: Value1
My-Header: Value2
En este caso, Cloud CDN modifica la solicitud suponiendo que el encabezado debe seguir la convención estándar que permite que algunos de ellos tengan más de un valor. Cloud CDN las contrae en una lista separada por comas para enviar al backend, por lo que es como si el cliente enviara la siguiente información:
My-Header: Value1, Value2
Incluye cookies con nombre
Una cookie HTTP es una vinculación name=value, y una solicitud puede incluir
varias cookies HTTP, ya sea separadas por un punto y coma en la misma línea, o
como encabezados de la solicitud Cookie discretos con una cookie por encabezado.
Puedes brindar una lista de hasta cinco nombres de cookies.
Los usuarios-agentes, como los navegadores web, suelen limitar a 4 KB la cantidad de cookies almacenadas por dominio. Asegúrate de no enviar demasiadas cookies, o de que no sean muy grandes, ya que es posible que el usuario-agente no las envíe todas en una solicitud. Esto puede generar un impacto si un usuario recibe una respuesta almacenada en caché específica.
Si entregas tu contenido estático desde un nombre de host diferente desde el que
emites cookies, asegúrate de que el atributo Domain de la cookie
(y el atributo Path) permita enviar la cookie con solicitudes
de contenido estático.
Si una solicitud incluye varias instancias con el mismo nombre de cookie, solo se respeta la primera.
Directivas de control de caché
Las directivas de control de caché HTTP afectan el comportamiento de Cloud CDN, como se describe en la siguiente tabla.
N/A significa que una directiva no es aplicable a una solicitud o respuesta.
| Directiva | Solicitud | Respuesta |
|---|---|---|
no-store |
Cuando está presente en una solicitud, Cloud CDN lo respeta y no almacena la respuesta en la caché. |
Una respuesta con
Se puede anular por backend con el
modo de almacenamiento en caché |
no-cache |
La directiva de solicitud no-cache se ignora para evitar que los clientes
inicien o fuercen una revalidación al origen.
|
Una respuesta con
Se puede anular por backend con el
modo de almacenamiento en caché |
public |
N/A |
Esta directiva no es necesaria para la capacidad de almacenamiento en caché, pero se recomienda incluirla en el contenido que los proxies deben almacenar en caché. |
private |
N/A |
Cloud CDN no almacena en caché una respuesta con la
directiva
Se puede anular por backend con el
modo de almacenamiento en caché |
max-age=SECONDS
|
Se ignora la directiva de solicitud max-age. Se devuelve una respuesta
almacenada en caché como si este encabezado no se incluyera en la solicitud.
|
Una respuesta con la directiva max-age se almacena en caché hasta el valor de SECONDS
definido.
|
s-maxage=SECONDS
|
N/A |
Una respuesta con la directiva
Si Las respuestas con esta directiva no se entregan inactivas.
|
min-fresh=SECONDS
|
Se ignora la directiva de solicitud min-fresh. Se devuelve una respuesta
almacenada en caché como si este encabezado no se incluyera en la solicitud.
|
N/A |
max-stale=SECONDS
|
La directiva de solicitud Cloud CDN lo respeta y devuelve una respuesta almacenada en caché
inactiva solo si la inactividad de la respuesta es menor que la
directiva |
N/A |
stale-while-revalidate=SECONDS
|
N/A |
Una respuesta con
Este comportamiento se puede habilitar para todas las respuestas configurando
|
stale-if-error=SECONDS
|
Se ignora la directiva de solicitud stale-if-error. Se devuelve
una respuesta almacenada en caché como si este encabezado no se incluyera en la solicitud.
|
Este encabezado de respuesta no tiene efecto. |
must-revalidate |
N/A |
Una respuesta con Las respuestas con esta directiva no se entregan inactivas. |
proxy-revalidate |
Una respuesta con Las respuestas con esta directiva no se entregan inactivas. |
|
immutable |
N/A | Sin efecto. Esto se pasa al cliente en la respuesta. |
no-transform |
N/A | Cloud CDN no aplica ninguna transformación. |
only-if-cached |
Se ignora la directiva de solicitud only-if-cached. Se devuelve
una respuesta almacenada en caché como si este encabezado no se incluyera en la solicitud.
|
N/A |
Siempre que sea posible, Cloud CDN intenta lograr el cumplimiento de RFC (HTTP RFC 7234), pero prioriza la optimización para la transferencia de caché y minimiza el impacto que los clientes pueden tener en el índice de aciertos y en la carga de origen en general.
Para las respuestas que usan el encabezado Expires HTTP/1.1:
- El valor del encabezado
Expiresdebe ser una fecha HTTP válida, como se define en RFC 7231. - Un valor de fecha en el pasado, una fecha no válida o un valor de
0indica que el contenido ya venció y requiere revalidación. - Si hay un encabezado
Cache-Controlpresente en la respuesta, Cloud CDN ignora el encabezadoExpires.
La presencia de un encabezado Expires válido y futuro en la respuesta permite que esta
se almacene en caché y no requiere que se especifiquen otras directivas de caché.
Si el encabezado HTTP/1.0 Pragma está presente en una respuesta, se ignora y
se pasa tal como está al cliente. Las solicitudes del cliente con este encabezado se
pasan al origen y no afectan la forma en que Cloud CDN entrega
una respuesta.
Encabezados Vary
El encabezado Vary indica que la respuesta varía según los encabezados de la solicitud del cliente. Además del URI de solicitud, Cloud CDN respeta los encabezados Vary que los servidores de origen incluyen en las respuestas. Por ejemplo, si una respuesta especifica Vary: Accept, Cloud CDN usa una entrada de caché para las solicitudes que especifican Accept: image/webp,image/*,*/*;q=0.8 y otra destinada a las solicitudes que especifican Accept: */*.
En la tabla de la
sección Contenido que no se puede almacenar en caché, se enumeran
los encabezados Vary que permiten que el contenido se almacene en caché. Otros valores de encabezado Vary
impiden que el contenido se almacene en caché.
El modo de almacenamiento en caché FORCE_CACHE_ALL no anula este comportamiento. Los encabezados
Vary son importantes para evitar el envenenamiento de la caché entre varias respuestas posibles del servidor
de origen. Sería peligroso que FORCE_CACHE_ALL provoque que esas
respuestas se almacenen en caché.
A veces, los encabezados Vary se usan cuando se entrega contenido comprimido.
Cloud CDN no comprime ni descomprime las respuestas en sí, a menos que la
compresión dinámica esté
habilitada, pero puede entregar respuestas que el servidor de origen haya comprimido. Si el
servidor de origen elige entregar contenido comprimido o sin comprimir según
el valor del encabezado de la solicitud Accept-Encoding, asegúrate de que la
respuesta especifique Vary: Accept-Encoding.
Cuando se usan encabezados HTTP en la clave de caché,
Cloud CDN almacena en caché varias copias de la respuesta según los valores
de los encabezados de la solicitud especificados, de forma similar a la compatibilidad con Vary, pero sin
necesidad de que el servidor de origen especifique de forma explícita ningún encabezado de respuesta Vary.
Si el origen especifica los encabezados de clave de caché en la respuesta Vary,
Cloud CDN trata la respuesta de forma correcta, como si los
encabezados no se hubieran mencionado en la respuesta Vary.
Plazos de vencimiento y solicitudes de validación
El plazo de vencimiento de la entrada de caché define por cuánto tiempo sigue siendo válida.
El valor que brinda el valor s-maxage (o max-age, o expires) permite
la revalidación automática del contenido almacenado en caché inactivo y generado por el usuario.
Cuando Cloud CDN recibe una solicitud, busca la entrada de caché correspondiente y verifica su antigüedad. Si la entrada de caché existe y está lo suficientemente actualizada, la respuesta se puede entregar desde la caché. Si el plazo de vencimiento ya pasó, Cloud CDN intenta contactar a uno de tus backends para revalidar la entrada de caché. Esto se realiza antes de entregar la respuesta, a menos que habilites serve-while-stal, en cuyo caso la revalidación se realiza de forma asíncrona.
Para algunos modos de almacenamiento en caché, puedes establecer valores de TTL. Para obtener más información, consulta Usa la configuración y las anulaciones de TTL.
El modo de almacenamiento en caché afecta la forma en que se determina la actualización.
| Modo de almacenamiento en caché | Comportamiento de la validación |
|---|---|
CACHE_ALL_STATIC |
Se consultan los encabezados de origen (Cache-Control: s-maxage,
Cache-Control: max-age o Expires)
para determinar la actualización. En el caso del contenido estático, si no hay encabezados
de origen, el default_ttl configurado
determina la actualización. Una vez que el contenido estático tiene más de
default_ttl, Cloud CDN lo vuelve a validar. |
USE_ORIGIN_HEADERS |
Cada entrada de caché en una caché de Cloud CDN tiene un plazo de vencimiento
que definen los encabezados Cache-Control: s-maxage,
Cache-Control: max-age o Expires de
acuerdo con
RFC 7234. |
FORCE_CACHE_ALL |
En lugar de los encabezados de origen, el default_ttl configurado
determina la actualización. Una vez que el contenido es más antiguo que
default_ttl, Cloud CDN lo vuelve a validar. |
Si hay más de uno, Cache-Control: s-maxage tiene
prioridad sobre Cache-Control: max-age, y
Cache-Control: max-age tiene prioridad sobre Expires.
De forma predeterminada, cuando el valor de vencimiento supera los 30 días (2,592,000
segundos), Cloud CDN trata el valor de vencimiento como si fueran 2,592,000
segundos. Los clientes de downstream aún ven los valores exactos de max-age y
s-maxage, incluso si superan los 30 días.
Expulsión
No hay garantía de que una entrada de caché permanezca ahí hasta que venza, ya que las entradas poco populares se pueden expulsar antes de que esto suceda en cualquier momento para dejar lugar para el contenido nuevo. Como límite superior, las entradas de caché a las que no se accede durante 30 días se expulsan de forma automática.
Para obtener más información, consulta Expulsión y vencimiento.
Usa solicitudes condicionales para la validación
Cloud CDN puede intentar usar la información en los encabezados de respuesta almacenados en caché para validar la entrada de caché con el backend. Esto sucede cuando se cumple lo siguiente:
- La respuesta almacenada en caché anterior tiene un encabezado
Last-ModifiedoETag. - La solicitud del cliente es una solicitud
GETque no contiene encabezadosIf-Modified-SinceoIf-None-Match.
Cloud CDN realiza esta validación de una manera un poco diferente en función de si la respuesta se almacenó en caché con solicitudes de rango de bytes:
- Si la respuesta se almacenó en caché con solicitudes de rango de bytes, Cloud CDN
inicia una solicitud de validación separada que incluye encabezados
If-Modified-SinceyIf-None-Match. - De lo contrario, Cloud CDN agrega los encabezados
If-Modified-SinceyIf-None-Matcha la solicitud del cliente y reenvía la solicitud modificada al backend.
Si la copia almacenada en caché todavía está actualizada, el backend puede validar la entrada de caché existente
con el envío de una respuesta 304 Not Modified. En este caso, el backend solo envía los encabezados de respuesta, no el cuerpo de la respuesta. Cloud CDN inserta los nuevos encabezados de respuesta en la caché, actualiza el plazo de vencimiento y entrega los nuevos encabezados de respuesta y el cuerpo de respuesta almacenado en caché al cliente.
Si la respuesta almacenada previamente en caché no tiene un encabezado Last-Modified o ETag,
Cloud CDN ignora la entrada de caché vencida y reenvía
la solicitud del cliente al backend sin modificar.
Compatibilidad con solicitudes de rango de bytes
Una respuesta que cumple con los siguientes criterios indica que el servidor de origen admite solicitudes de rango de bytes:
- Código de estado:
200 OKo206 Partial Content - Encabezado:
Accept-Ranges: bytes - Encabezado:
Content-Lengthy, para una respuesta206 Partial Content, un valorContent-Rangeque indica la longitud completa del objeto de origen. Por ejemplo,Content-length: 0-100/999se puede almacenar en caché, mientras queContent-length: 0-100/*no - Encabezado:
Last-ModifiedyETagcon un validador sólido
Cloud Storage admite solicitudes de rango de bytes para la mayoría de los objetos. Sin embargo,
Cloud Storage no admite solicitudes de rango de bytes para objetos con
metadatos Content-Encoding: gzip, a menos que la solicitud del cliente incluya un encabezado Accept-
Encoding: gzip. Si tienes objetos de Cloud Storage de más de
10 MB, asegúrate de que no tengan metadatos
Content-Encoding: gzip. Para obtener información sobre cómo editar metadatos de objetos, consulta Visualiza y
edita metadatos de objetos.
El popular software del servidor web también admite solicitudes de rango de bytes. Consulta la documentación de tu servidor web para obtener detalles sobre cómo habilitar la compatibilidad. Para obtener más información sobre las solicitudes de rango de bytes, consulta la especificación HTTP.
Cuando un servidor de origen admite solicitudes de rango de bytes, una caché de Cloud CDN se niega a almacenar una respuesta que puede almacenarse en caché la primera vez que realiza la solicitud si se cumple alguna de las siguientes condiciones:
- El cuerpo de la respuesta está incompleto porque el cliente solicitó solo una parte del contenido.
- El cuerpo de la respuesta es más grande que 1 MB (1,048,576 bytes).
Cuando esto sucede y la respuesta satisface los requisitos normales de capacidad de almacenamiento en caché, la caché registra que el servidor de origen admite solicitudes de rango de bytes para esa clave de caché y reenvía la respuesta del servidor de origen al cliente.
En un error de caché, la caché verifica si se sabe que el servidor de origen admite solicitudes de rango de bytes. Si se sabe que las solicitudes de rango de bytes son compatibles con la clave de caché, la caché no reenvía la solicitud del cliente al balanceador de cargas de aplicaciones externo. En su lugar, la caché inicia sus propias solicitudes de relleno de caché de rango de bytes para las partes faltantes del contenido.
El servidor de origen devuelve una respuesta 206 Partial Content cuando
Cloud CDN inicia su propia solicitud de llenado de caché de rango de bytes. Para que
se considere una respuesta 206 Partial Content durante el almacenamiento en caché, debe incluir
un encabezado Content-Range con una directiva complete-length que no
incluya asteriscos, por ejemplo, 0-100/999. Luego, Cloud CDN almacena en caché esa
respuesta 206 Partial Content que se devolvió y la usa para responder a futuras solicitudes
de clientes para ese contenido.
Una caché almacena una respuesta 206 Partial Content solo cuando se recibe en
respuesta a una solicitud de rango de bytes que inició la caché. Debido a que una caché
no inicia una solicitud de rango de bytes a menos que haya registrado de forma previa que
el servidor de origen admite solicitudes de rango de bytes, una caché determinada
no almacena contenido de más de 1 MB hasta la segunda vez que se accede al contenido.
Debido a su naturaleza distribuida, es posible que, a veces, Cloud CDN pueda recuperar el fragmento final del origen más de una vez por ubicación. Esto solo afecta las primeras solicitudes por clave de caché.
Solicitud de contraer (fusión)
La solicitud de contraer (o fusión) contrae de forma activa varias solicitudes
de llenado de caché generadas por el usuario para la misma clave de caché en una sola solicitud de
origen por nodo perimetral. Esto puede reducir de forma activa la carga en el origen y
se aplica a las solicitudes de elemento (respuestas obtenidas de forma directa) y
fragmento, en la que
Cloud CDN usa solicitudes Range para recuperar objetos de mayor tamaño de manera
más eficiente.
La contracción de solicitudes está habilitada de forma predeterminada.
Las solicitudes contraídas se comportan de la siguiente manera:
- Las solicitudes contraídas registran la solicitud orientada al cliente y la solicitud de llenado de caché (contraída).
- El líder de la sesión contraída se usa para realizar la solicitud de relleno de origen.
- Los atributos de solicitud que no forman parte de la clave de caché,
como el encabezado
User-AgentoAccept-Encoding, solo reflejan el líder de la sesión contraída. - Las solicitudes que no tienen la misma clave de caché no se pueden contraer.
En el siguiente diagrama, se muestra cómo se fusionan las solicitudes:
En comparación, con la contracción de solicitudes inhabilitada o para solicitudes que no se pueden fusionar, la cantidad de solicitudes y respuestas de origen puede ser igual a la cantidad de clientes que intentan recuperar un objeto que no está almacenado en caché.
Para todos los tipos de solicitudes, la contracción está habilitada de forma predeterminada. Para los tipos de solicitud de elemento, puedes inhabilitar la contracción. Recomendamos inhabilitar la contracción de solicitudes de elementos en situaciones muy sensibles y con mucha latencia, como en la entrega de anuncios, en donde la carga de origen no es una consideración.
En la siguiente tabla, se resume el comportamiento predeterminado y la configuración para los diferentes tipos de solicitudes.
| Tipo de solicitud | Comportamiento predeterminado | Configurable | Beneficios de la contracción |
|---|---|---|---|
| Solicitudes de fragmento | Habilitado | No | Puede reducir de forma significativa el ancho de banda de origen |
| Solicitudes de elementos | Habilitado | Sí | Puede reducir el volumen de solicitudes de origen |
Para inhabilitar la contracción de solicitudes de elementos con Google Cloud CLI para un bucket de backend que hace referencia a un bucket de Cloud Storage, sigue estos pasos:
gcloud
Usa el comando gcloud compute backend-services o backend-buckets:
gcloud compute backend-services update BACKEND_SERVICE_NAME \
--no-request-coalescing
Para habilitar la contracción de solicitudes de elementos en un bucket de backend con Google Cloud CLI, haz lo siguiente:
gcloud
Usa el comando gcloud compute backend-buckets:
gcloud compute backend-buckets update BACKEND_BUCKET_NAME \
--request-coalescing
Si quieres habilitar la contracción de solicitudes de elementos con Google Cloud CLI para un servicio de backend, incluidos los grupos de VM y los backends externos, haz lo siguiente:
gcloud
Usa el comando gcloud compute backend-services:
gcloud compute backend-services update BACKEND_SERVICE_NAME \
--request-coalescing
Solicitudes que inicia Cloud CDN
Cuando el servidor de origen admite solicitudes de rango de bytes, Cloud CDN puede enviar varias solicitudes al servidor de origen en respuesta a una sola solicitud del cliente. Cloud CDN puede iniciar dos tipos de solicitudes: de validación y de rango de bytes.
Si la respuesta que indicó que el servidor de origen admite solicitudes de rango de bytes
para una clave de caché específica caducó, Cloud CDN inicia
una solicitud de validación para confirmar que el contenido no cambió y que el
servidor de origen aún admite solicitudes de rango en el contenido. Si el servidor de origen responde con una respuesta 304 Not Modified, Cloud CDN procede a entregar el contenido mediante rangos de bytes. De lo contrario, Cloud CDN reenvía la respuesta del servidor de origen al cliente. Puedes controlar los plazos de vencimiento mediante los encabezados de respuesta Cache-Control y Expires.
En un error de caché, Cloud CDN inicia las solicitudes de llenado de caché para un conjunto de rangos de bytes que se superponen sobre la solicitud de cliente. Si algunos rangos del contenido que solicitó el cliente están presentes en la caché, Cloud CDN entrega lo que puede desde la caché y envía solicitudes de rango de bytes para los rangos faltantes al servidor de origen.
En cada solicitud de rango de bytes que inicia Cloud CDN, se especifica un rango que comienza en un desplazamiento que es múltiplo de 2,097,136 bytes. Con la excepción posible del rango final, cada rango también es de 2,097,136 bytes. Si el contenido no es un múltiplo de ese tamaño, el rango final es más pequeño. Es posible que el tamaño y los desplazamientos en las solicitudes de rango de bytes cambien en el futuro.
Por ejemplo, considera una solicitud de cliente para los bytes 1,000,000 a 3,999,999 de contenido que no esté presente en la caché. En este ejemplo, Cloud CDN podría iniciar dos solicitudes GET, una para los primeros 2,097,136 bytes de contenido y otra para los segundos 2,097,136 bytes. Esto se traduce en 4,194,272 bytes de llenado de caché, aunque el cliente solicitó solo 3,000,000 bytes.
Cuando usas un bucket de Cloud Storage como origen, cada solicitud GET se factura como una operación de clase B independiente. Se te cobrará por todas las solicitudes GET que procesa Cloud Storage, lo que incluye cualquier solicitud que inicie Cloud CDN. Cuando una respuesta se entrega por completo desde una caché de Cloud CDN, no se envían solicitudes GET a Cloud Storage y no se cobra por ninguna operación de Cloud Storage.
Cuando Cloud CDN inicia una solicitud de validación o una solicitud de rango
de bytes, no incluye encabezados específicos del cliente, como Cookie o
User-Agent.
En el campo httpRequest.userAgent
de Cloud Logging,
Cloud-CDN-Google significa que Cloud CDN inició la solicitud.
Omite la caché
La omisión de la caché permite que las solicitudes que contengan encabezados de la solicitud específicos omitan la caché, incluso si el contenido se almacenó con anterioridad.
En esta sección, se brinda información para omitir la caché con encabezados HTTP,
como Pragma y Authorization. Esta función es útil cuando deseas
asegurarte de que tus usuarios o clientes siempre tengan el contenido más reciente recuperado
del servidor de origen. Se recomienda usar esta información para hacer pruebas, configurar
directorios de etapa de pruebas o secuencias de comandos.
Si un encabezado especificado coincide, la caché se omite para todas las opciones de configuración
del modo de almacenamiento en caché, incluso FORCE_CACHE_ALL. La caché omite los resultados en una gran cantidad de
errores de caché si los encabezados especificados son comunes a muchas solicitudes.
Antes de comenzar
Asegúrate de que Cloud CDN esté habilitado. Para obtener instrucciones, consulta Usa Cloud CDN.
Si es necesario, actualiza a la última versión de Google Cloud CLI:
gcloud components update
Configura la omisión de la caché
Puedes especificar hasta cinco nombres de encabezado HTTP. Los valores no distinguen mayúsculas de minúsculas. El nombre del encabezado debe ser un token del campo del encabezado HTTP válido. Un nombre de encabezado no debe aparecer más de una vez en la lista de encabezados agregados. Para conocer las reglas acerca de los nombres de encabezado válidos, consulta Cómo funcionan los encabezados personalizados.
Consola
- En la consola de Google Cloud , ve a la página Balanceo de cargas.
- Haz clic en el nombre de tu balanceador de cargas de aplicaciones externo.
- Haz clic en Editar .
- En Configuración de backend, selecciona un backend y haz clic en Editar .
- Asegúrate de que la opción Habilitar Cloud CDN esté seleccionada.
- En la parte inferior de la ventana, haz clic en Configuración avanzada.
- En Omitir la caché en el encabezado de la solicitud, haz clic en Agregar encabezado.
- Escribe un nombre de encabezado, como
PragmaoAuthorization. - Haz clic en Actualizar.
- Vuelve a hacer clic en Actualizar.
gcloud
En los buckets de backend, usa el comando gcloud compute backend-buckets
create o
gcloud compute backend-buckets
update con la
marca --bypass-cache-on-request-headers.
En los servicios de backend, usa el comando gcloud compute backend-services
create o
gcloud compute backend-services
update con la
marca --bypass-cache-on-request-headers.
gcloud compute backend-buckets (create | update) BACKEND_BUCKET_NAME
--bypass-cache-on-request-headers=BYPASS_REQUEST_HEADER
gcloud compute backend-services (create | update) BACKEND_SERVICE_NAME
--bypass-cache-on-request-headers=BYPASS_REQUEST_HEADER
Por ejemplo:
gcloud compute backend-services update my-backend-service
--bypass-cache-on-request-headers=Pragma
--bypass-cache-on-request-headers=Authorization
API
Para los buckets de backend, usa la llamada a la API Method: backendBuckets.insert, Method: backendBuckets.update o Method: backendBuckets.patch.
Para los servicios de backend, usa la llamada a la API Method: backendServices.insert, Method: backendServices.update o Method: backendServices.patch.
Por ejemplo:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets
Agrega el siguiente fragmento al cuerpo de la solicitud JSON:
"cdnPolicy": {
"bypassCacheOnRequestHeaders": [
{
"headerName": string
}
]
}
Inhabilita la omisión de la caché
gcloud
En los buckets de backend, usa el comando gcloud compute backend-buckets
create o
gcloud compute backend-buckets
update con la
marca --no-bypass-cache-on-request-headers.
En los servicios de backend, usa el comando gcloud compute backend-services
create o
gcloud compute backend-services
update con la
marca --no-bypass-cache-on-request-headers.
gcloud compute backend-services (create | update) (BACKEND_SERVICE_NAME | BACKEND_BUCKET_NAME)
--no-bypass-cache-on-request-headers
API
En los buckets de backend, usa la llamada a la API Method: backendBuckets.insert o Method: backendBuckets.update .
En los servicios de backend, usa la llamada a la API Method: backendServices.insert o Method: backendServices.update.
Usa una de las siguientes llamadas a la API:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/BACKEND_BUCKET POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
Agrega el siguiente fragmento al cuerpo de la solicitud JSON:
"cdnPolicy": {
"fields": "bypassCacheOnRequestHeaders"
}
¿Qué sigue?
- Para comprender cómo los modos de almacenamiento en caché facilitan el almacenamiento del contenido, consulta Usa modos de almacenamiento en caché.
- Si deseas habilitar Cloud CDN para las instancias de balanceo de cargas HTTP(S) y los buckets de almacenamiento, consulta Usa Cloud CDN.
- Para obtener información sobre cómo invalidar cachés, consulta Descripción general de la invalidación de caché.
- Para encontrar puntos de presencia de GFE, consulta Ubicaciones de caché.