Uji coba origin Cookie yang Memiliki Status Terpartisi Independen (CHIPS)

Mulai Chrome 100, uji coba origin CHIPS memungkinkan keikutsertaan cookie ke penyimpanan "terpartisi", dengan stoples cookie terpisah per situs tingkat atas.

Perubahan

Apa itu CHIPS?

Cookie Memiliki Status Partisi Independen (CHIPS) adalah proposal Privacy Sandbox yang memungkinkan developer mengikutsertakan cookie ke dalam penyimpanan "terpartisi", dengan toples cookie terpisah per situs tingkat atas.

Cookie pihak ketiga yang dipartisi terikat dengan situs tingkat teratas tempat cookie tersebut pertama kali ditetapkan dan tidak dapat diakses dari tempat lain. Tujuannya adalah agar cookie dapat disetel oleh layanan pihak ketiga, tetapi hanya dibaca dalam konteks situs tingkat atas tempat cookie tersebut pertama kali ditetapkan.

Untuk siapa uji coba origin ini?

Uji coba ini tersedia sebagai uji coba origin pihak ketiga, yang memungkinkan penyedia konten sematan mencoba fitur baru di beberapa situs.

Jika situs mendaftar ke uji coba sebagai pihak pertama, partisi cookie juga akan tersedia untuk penyedia konten pihak ketiga di situs tersebut. Penyedia pihak ketiga ini juga akan menerima header HTTP tambahan, yang menunjukkan pendaftaran mereka dalam uji coba origin.

Berapa lama uji coba akan berjalan?

Uji coba akan tersedia mulai Chrome 100 hingga Chrome 105. Periksa jadwal rilis Chrome untuk mengetahui tanggal rilis yang direncanakan.

Cara mendaftar ke uji coba origin

Prasyarat

Chrome Stabil 103.

Langkah

  1. Untuk mendaftar ke uji coba origin dan mendapatkan token untuk domain Anda, buka halaman uji coba origin CHIPS.

  2. Sertakan header Origin-Trial dengan token yang valid di setiap respons dengan header Set-Cookie yang menyertakan Partitioned:

    Origin-Trial: <ORIGIN TRIAL TOKEN>
    
  3. Tambahkan atribut Partitioned ke cookie dengan salah satu dari dua cara berikut:

    • Di header Set-Cookie:

      Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
      
    • Di JavaScript:

      cookieStore.set({
      name: '__Host-name',
      value: 'value',
      secure: true,
      path: '/',
      sameSite: 'none',
      // Set a partitioned cookie using the attribute below.
      partitioned: true,
      });
      

Contoh

Situs yang berpartisipasi dalam uji coba origin harus menyertakan header berikut dalam responsnya:

Origin-Trial: <ORIGIN TRIAL TOKEN>
Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;

Memastikan kode berfungsi

Memeriksa header

Jika Anda berhasil memilih ikut serta dalam uji coba origin dan menetapkan cookie terpartisi, permintaan berikutnya dari klien Chrome akan menyertakan header permintaan Sec-CH-Partitioned-Cookies: ?0 hingga sesi saat ini berakhir.

Sec-CH-Partitioned-Cookies: ?0
Cookie: __Host-name=value

Jika situs Anda menerima cookie tanpa petunjuk klien ini, keikutsertaan dalam uji coba origin tidak berhasil dan cookie yang Anda terima tidak dipartisi.

Respons yang tidak menyertakan header Set-Cookie dengan Partitioned tidak akan memengaruhi status partisipasi uji coba origin situs.

Jika Anda tidak merespons dengan token yang valid di header Origin-Trial, cookie yang dipartisi di komputer akan dikonversi menjadi cookie yang tidak dipartisi.

Untuk mengetahui detail selengkapnya, lihat dokumentasi CHIPS di chromium.org.

DevTools

  1. Buka chrome://flags/#partitioned-cookies dan ubah setelan menjadi "Aktif".
  2. Mulai ulang Chromium dengan mengklik tombol "Luncurkan kembali" di pojok kanan bawah, atau dengan membuka chrome://restart.
  3. Buka chrome://settings/cookies dan pastikan tombol pilihan disetel ke "Izinkan semua cookie" atau "Blokir cookie pihak ketiga dalam mode Samaran".
  4. Muat situs dengan sematan.
  5. Buka Buka DevTools ke Application > Cookies > yourSite dan cari kolom Partition Key di DevTools.

Detail tambahan

Persyaratan cookie

  • Cookie yang dipartisi harus ditetapkan dengan Secure. (Path=/ tidak lagi diperlukan: lihat github.com/privacycg/CHIPS/pull/49).
  • Atribut SameParty tidak dapat digunakan bersama dengan Partitioned.

Chrome akan menerapkan aturan ini untuk cookie yang ditetapkan dengan atribut Partitioned, baik partisi cookie diaktifkan maupun dinonaktifkan. Cookie yang tidak ditetapkan dengan benar akan ditolak.

Jika partisi cookie dinonaktifkan, tetapi cookie ditetapkan dengan atribut yang benar, Chrome akan mengabaikan atribut Partitioned dan cookie yang dihasilkan akan tetap dikirim dalam permintaan ke host-nya di situs tingkat atas yang berbeda dari tempat partisi tersebut ditetapkan.

Cookie yang dipartisi juga harus menyertakan atribut SameSite=None, untuk memungkinkan cookie dikirim dalam konteks pihak ketiga di browser yang tidak mendukung partisi cookie.

JavaScript dan pekerja layanan

Frame yang ikut serta dalam uji coba origin akan memiliki akses untuk membaca dan menulis cookie yang dipartisi menggunakan JavaScript API seperti document.cookie dan CookieStore API. Frame yang tidak berada dalam skrip uji coba tidak akan dapat membaca atau menulis cookie yang dipartisi.

Uji coba origin CHIPS tidak didukung di pekerja layanan.

Berinteraksi dan memberikan masukan