Cross Origin Storage API: Berhenti Mengunduh File Dua Kali

Cross-Origin Storage API dapat memungkinkan browser untuk berbagi model AI berukuran 33 GB di antara dua situs, sehingga memangkas data yang Anda unduh dari 66 GB menjadi 33 GB.

Dulu, browser mengizinkan situs mana pun untuk menggunakan kembali file yang telah diambil oleh situs lain. Muat bundle React yang sama dari CDN pada dua halaman, dan browser akan menyajikan salinan cache pada pemuatan kedua. Serangkaian perubahan yang berfokus pada privasi merusak kenyamanan tersebut: sekarang browser mempartisi cache berdasarkan situs, sehingga URL yang identik sekalipun disimpan secara terpisah untuk setiap origin. Hasilnya adalah trafik duplikat untuk setiap aset besar yang muncul di lebih dari satu situs.

Mengapa masalah pengunduhan ganda ini penting sekarang

Pemborosan ini terlihat pada file kecil—seperti font web atau beberapa megabyte JavaScript—tetapi akan melonjak drastis ketika asetnya berupa model AI berukuran multi-gigabyte atau modul WebAssembly.

Cara kerja Cross-Origin Storage (COS) API

Proposal ini mengganti pencarian berbasis URL dengan pencarian berbasis konten (content-addressed). Sebuah situs menyediakan hash SHA-256 dari file yang diinginkannya. Browser memeriksa penyimpanan lokalnya untuk hash yang tepat tersebut, tanpa mempedulikan origin mana yang mengambilnya pertama kali. Jika file tersebut ada, browser akan memberikannya; jika tidak, browser akan mengambil file dari jaringan dan menyimpannya di bawah hash tersebut untuk penggunaan lintas-origin di masa mendatang.

  • Identifikasi melalui hash. Hash mewakili byte file secara unik, bukan lokasinya.
  • Akses lintas-origin. Situs mana pun yang mengetahui hash tersebut dapat meminta file tersebut, meskipun berasal dari tempat lain.
  • Berbagi cache lokal. Salinan fisik yang sama dapat memenuhi beberapa permintaan.

API ini sengaja dibuat terbatas: ia tidak menggantikan Cache API atau IndexedDB yang sudah ada. Keduanya tetap menjadi alat untuk penyimpanan tujuan umum; COS adalah jalan pintas tujuan tunggal untuk blob besar yang identik.

Perlindungan privasi yang dibangun ke dalam desain

Mengizinkan situs untuk menyelidiki cache pengguna dapat memunculkan kembali vektor pelacakan yang seharusnya dihentikan oleh partisi cache. COS memblokir risiko tersebut dengan tiga aturan:

  1. Tanpa enumerasi. Skrip tidak dapat bertanya “hash apa saja yang Anda miliki?”—penyimpanannya bersifat tidak transparan.
  2. Persyaratan hash yang diketahui. Sebuah situs hanya boleh meminta file jika ia sudah mengetahui hash yang tepat. Penyelidikan acak tidak mungkin dilakukan tanpa pengetahuan sebelumnya.
  3. Ambang batas popularitas untuk akses global. Sebuah file harus cukup umum—yaitu, “anonim”—sebelum origin yang berbeda dapat mengambilnya. File yang langka akan tetap terisolasi pada origin yang pertama kali mengunduhnya.

Batasan-batasan ini menjaga agar API tetap berguna untuk aset yang benar-benar dibagikan, sekaligus mencegahnya menjadi saluran samping (side channel) untuk fingerprinting.

Apa yang perlu diperhatikan selanjutnya

Cross-Origin Storage API menawarkan solusi langsung untuk masalah yang berkembang seiring dengan aset browser yang masif. Apakah komunitas web dapat menyeimbangkan efisiensi bandwidth dengan jaminan privasi yang mendasari partisi cache akan menentukan apakah ide ini dapat melangkah lebih jauh dari tahap draf. Jika berhasil, browser di masa depan dapat memungkinkan Anda mengunduh model AI berukuran lebih dari 30 GB satu kali dan menggunakannya di mana saja—menghemat waktu, data, dan energi.