2 домена mydomain.com
и subdomain.mydomain.com
могут совместно использовать куки, если домен явно указан в Set-Cookie
заголовке. В противном случае область действия cookie ограничивается узлом запроса. (Это называется «cookie только для хоста». См. Что такое cookie только для хоста? )
Например, если вы отправили следующий заголовок из subdomain.mydomain.com
, тогда cookie не будет отправляться для запросов mydomain.com
:
Set-Cookie: name=value
Однако, если вы используете следующее, оно будет доступно на обоих доменах:
Set-Cookie: name=value; domain=mydomain.com
Этот файл cookie будет отправлен для любого субдомена mydomain.com, включая вложенные субдомены, например subsub.subdomain.mydomain.com
.
В RFC 2109 домен без ведущей точки означал, что его нельзя использовать на поддоменах, и только начальная точка ( .mydomain.com
) позволяла бы его использовать в нескольких поддоменах (но не в домене верхнего уровня, так что вы спросили: невозможно в старшей спецификации).
Однако все современные браузеры уважают более новую спецификацию RFC 6265 и будут игнорировать любую начальную точку, что означает, что вы можете использовать cookie на поддоменах, а также доменах верхнего уровня.
Таким образом, если вы установите cookie, как во втором примере выше mydomain.com
, он будет доступен subdomain.mydomain.com
, и наоборот. Это также может быть использовано для разрешения sub1.mydomain.com
и sub2.mydomain.com
обмена файлами cookie.
Смотрите также: