API de Cross-Origin Storage: Evite descargar archivos dos veces
La API de Cross-Origin Storage podría permitir que los navegadores compartan un modelo de IA de 33 GB entre dos sitios, reduciendo los datos que descarga de 66 GB a 33 GB.
Antes, los navegadores permitían que cualquier sitio reutilizara un archivo que otro sitio ya había descargado. Si se carga el mismo paquete de React desde un CDN en dos páginas, el navegador sirve la copia en caché la segunda vez. Una serie de cambios centrados en la privacidad rompieron esa comodidad: ahora los navegadores particionan las cachés por sitio, de modo que incluso las URLs idénticas se almacenan por separado para cada origen. El resultado es un tráfico duplicado para cada recurso de gran tamaño que aparece en más de un sitio.
Por qué el problema de la descarga duplicada es importante ahora
El desperdicio se nota con archivos pequeños (fuentes web o unos pocos megabytes de JavaScript), pero se dispara cuando el recurso es un modelo de IA de varios gigabytes o un módulo de WebAssembly.
Cómo funciona la API de Cross-Origin Storage (COS)
La propuesta sustituye la búsqueda basada en URLs por una basada en el contenido. Un sitio proporciona un hash SHA-256 del archivo que desea. El navegador busca ese hash exacto en su almacenamiento local, independientemente de qué origen lo haya descargado originalmente. Si el archivo está presente, el navegador lo entrega; si no, descarga el archivo de la red y lo almacena bajo ese hash para su futura reutilización entre orígenes.
- Identificación mediante hash. El hash representa de forma única los bytes del archivo, no su ubicación.
- Acceso entre orígenes. Cualquier sitio que conozca el hash puede solicitar el archivo, incluso si este se originó en otro lugar.
- Uso compartido de la caché local. La misma copia física satisface múltiples solicitudes.
La API es deliberadamente limitada: no sustituye a las actuales Cache API o IndexedDB. Estas siguen siendo las herramientas para el almacenamiento de propósito general; COS es un atajo de propósito único para blobs grandes e idénticos.
Salvaguardas de privacidad integradas en el diseño
Permitir que los sitios exploren la caché de un usuario podría reintroducir los vectores de seguimiento que las cachés particionadas pretendían detener. COS bloquea ese riesgo con tres reglas:
- Sin enumeración. Los scripts no pueden preguntar «¿qué hashes tienes?»; el almacenamiento es opaco.
- Requisito de hash conocido. Un sitio solo puede solicitar un archivo si ya conoce el hash exacto. El sondeo aleatorio es imposible sin conocimiento previo.
- Umbral de popularidad para el acceso global. Un archivo debe ser lo suficientemente común (es decir, «anónimo») antes de que un origen diferente pueda recuperarlo. Los archivos poco comunes permanecen aislados en el origen que los descargó por primera vez.
Estos límites mantienen la utilidad de la API para recursos realmente compartidos, al tiempo que evitan que se convierta en un canal lateral para el fingerprinting.
Qué esperar a continuación
La API de Cross-Origin Storage ofrece una solución directa a un problema que ha crecido con los enormes recursos dentro del navegador. La capacidad de la comunidad web para equilibrar la eficiencia del ancho de banda con las garantías de privacidad que motivaron la partición de la caché decidirá si la idea trasciende la fase de borrador. Si lo hace, los futuros navegadores podrían permitirte descargar un modelo de IA de más de 30 gigabytes una sola vez y reutilizarlo en todas partes, ahorrando tiempo, datos y energía.
