Цитуючи з того самого RFC2109, який ви читали:
* Буде встановлено cookie від запиту-хоста x.foo.com для Domain = .foo.com
бути прийнятим.
Так subdomain.example.comможна встановити файл cookie для .example.com. Все йде нормально.
Наступні правила застосовуються до вибору відповідних значень файлів cookie від
серед усіх файлів cookie, які має агент користувача.
Вибір домену
Повнокваліфіковане ім’я хоста-сервера повинно відповідати домену
атрибут домену файлу cookie
То ми маємо збіг домену?
* A - рядок FQDN і має вигляд NB, де N - не порожнє ім'я
рядок, B має вигляд .B ', а B' - рядок FQDN. (Отже, xycom
.y.com, але не y.com.)
Але тепер example.comне буде відповідати домену .example.comвідповідно до визначення. Але www.example.com(або будь-яке інше "не порожнє ім'я" в домені) буде. Цей RFC теоретично застарів RFC2965 , який диктував речі щодо примушування провідної точки для доменів в Set-Cookie2операціях.
Більш важливим, як зазначає @Tony, є реальний світ. Щоб ознайомитися з тим, що роблять фактичні користувацькі агенти, див
Firefox 3 nsCookieService.cpp
і
Cookie_monster.cc Chrome
Для перспективи в те , що фактичні сайти роблять, намагаються грати з wgetдопомогою --save-cookies, --load-cookiesі --debugподивитися , що відбувається.
Ви, ймовірно, виявите, що насправді більшість сайтів використовують деяку комбінацію Set-Cookieстарих специфікацій RFC зі значеннями "Host", неявно без провідної точки (як це робить twitter.com ) або встановлення значень домену (з провідною крапкою) та перенаправлення на такий сервер www.example.com(як це робить google.com ).