HTTPQUERY
Bahasa Indonesia

Cookie

Penggunaan

Header Cookie membawa pasangan nama-nilai yang sebelumnya disimpan oleh header respons Set-Cookie. Setelah server menetapkan sebuah cookie, browser menyertakan header Cookie yang sesuai pada request berikutnya ke domain yang sama, dengan tunduk pada aturan path, domain, dan kedaluwarsa.

Cookie mempertahankan state di atas protokol HTTP yang stateless. Penggunaan yang umum mencakup manajemen sesi, token autentikasi, preferensi pengguna, dan pengenal pelacakan. Server membaca header Cookie untuk mengidentifikasi klien, memulihkan konteks sesi, atau menerapkan pengaturan yang tersimpan.

Beberapa pasangan cookie muncul pada satu baris header Cookie, dipisahkan oleh titik koma dan spasi. Sintaksnya hanya membawa nama dan nilai setiap cookie. Atribut seperti Expires, Path, Secure, dan HttpOnly hanya ada pada header Set-Cookie dan tidak diulang pada header Cookie.

Cookie: name1=value1; name2=value2

Contoh

Sebuah server menetapkan tiga cookie dalam satu respons. Cookie sid menyimpan pengenal sesi, lang menyimpan preferensi bahasa, dan theme mencatat pengaturan tampilan.

HTTP/1.1 200 OK
Content-Type: text/html
Set-Cookie: sid=abc123; Path=/; Secure; HttpOnly
Set-Cookie: lang=en; Path=/
Set-Cookie: theme=dark; Path=/

Browser menyertakan semua cookie yang berlaku pada request berikutnya ke domain yang sama. Hanya pasangan nama-nilai yang dikirim dalam header Cookie.

GET /dashboard HTTP/1.1
Host: example.re
Cookie: sid=abc123; lang=en; theme=dark

Sebuah request POST ke endpoint login menerima cookie sesi. Atribut Secure memastikan cookie hanya dikirim melalui HTTPS, dan HttpOnly mencegah akses dari JavaScript.

HTTP/1.1 200 OK
Set-Cookie: token=eyJhbGciOi; Secure; HttpOnly; SameSite=Strict

Request berikutnya membawa token tersebut secara otomatis.

GET /api/profile HTTP/1.1
Host: example.re
Cookie: token=eyJhbGciOi

Catatan

Pembaruan spesifikasi cookie yang sedang berlangsung merevisi penanganan cookie dengan nilai bawaan SameSite, prefiks __Host- dan __Secure-, serta atribut Partitioned untuk cookie dalam konteks pihak ketiga. Draf tersebut masih dikembangkan secara aktif.

Penegakan SameSite

Browser menggunakan SameSite=Lax sebagai nilai bawaan ketika atribut SameSite tidak ditetapkan. Hal ini secara bawaan memblokir sebagian besar pengiriman cookie lintas situs. SameSite=None mengharuskan flag Secure. Referensi SameSite lengkap

Dampak SEO

Googlebot mengirim cookie ketika cookie ditetapkan oleh server asal, tetapi tidak mempertahankan cookie antar sesi perayapan yang terpisah. Cookie berukuran besar pada domain aset meningkatkan ukuran request selama rendering. Domain tanpa cookie untuk aset statis menghindari beban tambahan ini.