การอ้างอิงจากRFC2109เดียวกันกับที่คุณอ่าน:
* Set-Cookie จาก request-host x.foo.com สำหรับ Domain = .foo.com
ได้รับการยอมรับ
ดังนั้นสามารถตั้งค่าคุกกี้สำหรับsubdomain.example.com
.example.com
จนถึงตอนนี้ดีมาก
กฎต่อไปนี้นำไปใช้กับการเลือกค่าคุกกี้ที่เกี่ยวข้อง
ในบรรดาคุกกี้ทั้งหมดที่เอเจนต์ผู้ใช้มี
การเลือกโดเมน
ชื่อโฮสต์แบบเต็มของเซิร์ฟเวอร์ต้นทางจะต้องตรงกับโดเมน
แอตทริบิวต์ Domain ของคุกกี้
ดังนั้นเรามีการจับคู่โดเมนหรือไม่
* A เป็นสตริง FQDN และมีรูปแบบ NB โดยที่ N เป็นชื่อที่ไม่ว่างเปล่า
string, B มีรูปแบบ. B 'และ B' เป็นสตริง FQDN (ดังนั้น xycom
จับคู่โดเมน. y.com แต่ไม่ใช่ y.com)
แต่ตอนนี้example.com
จะไม่จับคู่โดเมน.example.com
ตามคำจำกัดความ แต่www.example.com
(หรือ "ชื่อที่ไม่ว่าง" อื่น ๆ ในโดเมน) จะเป็นเช่นนั้น ในทางทฤษฎี RFC นี้ล้าสมัยโดยRFC2965ซึ่งกำหนดสิ่งต่าง ๆ เกี่ยวกับการบังคับใช้จุดนำสำหรับโดเมนในSet-Cookie2
การดำเนินงาน
ที่สำคัญกว่านั้นตามที่ @Tony เป็นโลกแห่งความจริง หากต้องการดูสิ่งที่ตัวแทนผู้ใช้จริงกำลังทำอยู่ให้ดู
nsCookieService.cpp ของ Firefox 3
และ
cookie_monster.cc ของ Chrome
สำหรับมุมมองในสิ่งที่เกิดขึ้นจริงเว็บไซต์กำลังทำลองเล่นกับwget
ใช้--save-cookies
, --load-cookies
และ--debug
ที่จะเห็นสิ่งที่เกิดขึ้น
คุณจะพบว่าในความเป็นจริงไซต์ส่วนใหญ่ใช้ชุดค่าผสมSet-Cookie
RFC รุ่นเก่ากับค่า "โฮสต์" โดยปริยายโดยไม่มีจุดนำ (ตามtwitter.com ) หรือการตั้งค่าโดเมน (ด้วยจุดนำ) และการเปลี่ยนเส้นทาง ไปยังเซิร์ฟเวอร์เช่นwww.example.com
(เช่นgoogle.comทำ)