Digital Transformation
Cross-Origin Isolation (COOP/COEP)
TL;DR: Cross-Origin Isolation adalah konfigurasi header HTTP COOP (Cross-Origin-Opener-Policy) dan COEP (Cross-Origin-Embedder-Policy) yang membuat dokumen terisolasi dari konteks cross-origin lain. Ini syarat untuk membuka API berdaya tinggi seperti SharedArrayBuffer, high-resolution timer, dan multi-threading via Web Workers. Browser modern (Chrome 92+) mengaktifkan pengaman Spectre saat halaman cross-origin isolated.
Apa itu Cross-Origin Isolation?
Cross-Origin Isolation adalah state keamanan dokumen web yang aktif ketika dua header HTTP dikirim bersamaan: Cross-Origin-Opener-Policy: same-origin dan Cross-Origin-Embedder-Policy: require-corp (atau credentialless). Saat aktif, browser memberi halaman privilege untuk pakai API yang sebelumnya dimatikan setelah serangan Spectre 2018, termasuk SharedArrayBuffer dan performance.measureUserAgentSpecificMemory().
Analogi: bayangkan halaman web sebagai apartemen di gedung bersama. Tanpa isolation, tetangga (iframe atau popup cross-origin) bisa "menguping" via timing attack. Dengan COOP/COEP aktif, apartemen kamu jadi sound-proof, jadi browser percaya kasih akses ke "peralatan dapur tajam" yang sebelumnya dikunci.
COOP vs COEP
| Header | Fungsi | Nilai umum |
|---|---|---|
| COOP | Memisahkan browsing context group, mencegah cross-origin window.opener | same-origin |
| COEP | Memaksa semua sub-resource cross-origin punya CORP atau CORS opt-in | require-corp atau credentialless |
Cek status di DevTools Application tab atau via self.crossOriginIsolated === true di JavaScript.
Kenapa Penting?
Untuk web yang memakai WebAssembly threading (FFmpeg.wasm, Photoshop Web, game engine), cross-origin isolation wajib. Tanpa COOP/COEP, multi-threaded WASM jatuh ke single-thread dan performance bisa turun 3 sampai 8 kali. Untuk web bisnis tanpa WASM threading, COOP/COEP tetap berguna karena memperkuat postur keamanan bersama Content Security Policy dan HSTS.
Trade-off: third-party embed (YouTube iframe, ad pixel lama) sering belum kirim CORP header, jadi perlu audit dan koordinasi sebelum aktifkan. Pakai Cross-Origin-Embedder-Policy: credentialless sebagai middle-ground yang lebih kompatibel.
Pertanyaan Umum
Apakah cross-origin isolation menghambat iklan pihak ketiga?
Kadang. Pixel atau iframe vendor yang belum support CORP akan diblokir saat COEP require-corp aktif. Mulai dengan COEP report-only mode untuk audit dampak sebelum enforce.
Bagaimana cek halaman saya sudah cross-origin isolated?
Buka DevTools Console, ketik self.crossOriginIsolated. Hasil true berarti sudah aktif. Atau cek di Application tab > Frames > top frame > Security & Isolation.
Istilah Terkait