Почему этот код тройной Set-Cookie с разными опциями Domain =? - PullRequest
1 голос
/ 20 января 2010

Помощник cookie веб-фреймворка трижды устанавливает cookie с различными значениями Domain=, и никто не помнит, почему.

Set-Cookie: x=y; Path=/
Set-Cookie: x=y; Path=/; Domain=example.org
Set-Cookie: x=y; Path=/; Domain=.example.org

Зачем устанавливать один и тот же файл cookie три раза с разными Domain=? Это обходной путь для уже не относящейся к делу ошибки браузера и его можно упростить или он все еще необходим сегодня?

1 Ответ

2 голосов
/ 20 января 2010

Я предполагаю, что это сделано для удобства обработки имен хостов "www" и не www в одном сеансе ...

первый домен cookie по умолчанию будет иметь значение "имя текущего хоста", котороеможет быть "www.example.org".поскольку сайты обычно доступны с поддоменом www или без него, третий cookie-файл делает это без проблем, когда сеанс пересекает оба имени хоста (некоторые схемы балансировки / кэширования нагрузки могут использовать cache.example.org или www2 иличто-то).возможно разумное значение по умолчанию, но теоретически может вызвать некоторые проблемы с безопасностью ...

Я предполагаю, что третий cookie используется, потому что второй будет отвергнут UA, которые соответствуют букве спецификации netscape - доменов cookieв организации должно быть как минимум 2 точки ...

Любой домен, который выходит из строя в пределах одного из семи специальных доменов верхнего уровня, перечисленных ниже, требует только двух периодов.Любой другой домен требует как минимум три.Семь специальных доменов верхнего уровня: «COM», «EDU», «NET», «ORG», «GOV», «MIL» и «INT».

http://web.archive.org/web/20070805052634/http://wp.netscape.com/newsref/std/cookie_spec.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...