CDN, caché, CORS y SRI.
La distribución diferencia contenido direccionado por digest de punteros mutables y publica headers verificables.
Headers
| Recurso | Cache-Control |
|---|---|
| / | public, max-age=31536000, immutable |
| current.json | public, max-age=300 |
| stable.json | public, max-age=300 |
| schemas versionados | public, max-age=86400 |
| documentación temporal | private o no-store según acceso |
Origen efectivo observado
La comprobación activa del 26 de agosto de 2026 resolvió style.innovacionsantiago.cl directamente al VPS y recibió Server: Caddy sin CF-Cache-Status ni CF-Ray. Cloudflare administra DNS y el desafío TLS, pero no se observó como proxy o caché HTTP de Style.
| Superficie | Resultado |
|---|---|
| v9/ | Caddy directo; caché inmutable por un año |
| v9/current.json y stable.json | Caddy directo; revalidación cada cinco minutos |
| v6/cis.min.css | Legacy mutable; caché de 24 horas |
| Revisión autenticada v10 | no-store |
Purge y promoción
- No existe purge de Cloudflare en el publicador actual: valida hashes y reemplaza current.json o stable.json de forma atómica.
- Con el origen directo actual no corresponde ejecutar un purge de Cloudflare.
- Si se activa el proxy, el pipeline sólo puede purgar current.json y stable.json después de publicar y verificar el digest.
- Sólo current.json y stable.json son mutables; nunca se purga un release por digest ni se usa purge global.
- El gate de despliegue comprueba Cache-Control, ETag, Age, CF-Cache-Status y el digest servido.
CORS
- Fuentes permiten los orígenes públicos aprobados.
- JSON de lectura permite GET y HEAD.
- No usar wildcard junto con credenciales.
- Vary: Origin cuando la respuesta depende del origen.
- Preflight sólo si una operación lo necesita.
Integridad
<link rel="stylesheet"
href="https://style.innovacionsantiago.cl/v10/<digest>/components.css"
integrity="sha384-<base64>"
crossorigin="anonymous">