Mengutip dari RFC2109 yang sama dengan yang Anda baca:
* Cookie Set dari host-permintaan x.foo.com untuk Domain = .foo.com akan
diterima.
Jadi subdomain.example.com
dapat mengatur cookie untuk .example.com
. Sejauh ini baik.
Aturan berikut ini berlaku untuk memilih nilai cookie yang berlaku dari
di antara semua cookie yang dimiliki agen pengguna.
Pemilihan Domain
Nama host yang sepenuhnya memenuhi syarat server asal harus cocok dengan domain
atribut Domain dari cookie
Jadi, apakah kita memiliki pencocokan domain?
* A adalah string FQDN dan memiliki bentuk NB, di mana N adalah nama yang tidak kosong
string, B memiliki bentuk .B ', dan B' adalah string FQDN. (Jadi, xycom
cocok dengan domain .y.com tetapi tidak y.com.)
Tapi sekarang example.com
tidak akan cocok dengan domain .example.com
sesuai dengan definisi. Tetapi www.example.com
(atau "nama tidak kosong" lainnya di domain) akan melakukannya. RFC ini secara teori sudah usang oleh RFC2965 , yang mendikte hal-hal tentang memaksa titik terkemuka untuk domain pada Set-Cookie2
operasi.
Lebih penting, seperti dicatat oleh @Tony, adalah dunia nyata. Untuk melihat sekilas apa yang dilakukan agen pengguna aktual, lihat
Firefox 3 adalah nsCookieService.cpp
dan
Cookie_monster.cc Chrome
Untuk perspektif ke dalam apa situs yang sebenarnya lakukan, coba bermain dengan wget
menggunakan --save-cookies
, --load-cookies
dan --debug
untuk melihat apa yang terjadi.
Anda mungkin akan menemukan bahwa sebenarnya sebagian besar situs menggunakan beberapa kombinasi dari Set-Cookie
spesifikasi RFC yang lebih lama dengan nilai "Host", secara implisit tanpa titik terkemuka (seperti yang dilakukan twitter.com ) atau pengaturan nilai Domain (dengan titik terkemuka) dan mengarahkan ulang ke server seperti www.example.com
(seperti yang dilakukan google.com ).