Os 2 domínios mydomain.com
e subdomain.mydomain.com
só podem compartilhar cookies se o domínio for explicitamente nomeado no Set-Cookie
cabeçalho. Caso contrário, o escopo do cookie é restrito ao host da solicitação. (Isso é chamado de "cookie somente para host". Consulte O que é um cookie somente para host? )
Por exemplo, se você enviou o seguinte cabeçalho de subdomain.mydomain.com
, o cookie não será enviado para solicitações a mydomain.com
:
Set-Cookie: name=value
No entanto, se você usar o seguinte, ele poderá ser usado nos dois domínios:
Set-Cookie: name=value; domain=mydomain.com
Este cookie será enviado para qualquer subdomínio de mydomain.com, incluindo subdomínios aninhados como subsub.subdomain.mydomain.com
.
Na RFC 2109 , um domínio sem um ponto inicial significava que não podia ser usado em subdomínios e apenas um ponto inicial (.mydomain.com
) permitiria que ele fosse usado em vários subdomínios (mas não no domínio de nível superior). não é possível nas especificações mais antigas).
No entanto, todos os navegadores modernos respeitam a especificação mais recente RFC 6265 e ignoram qualquer ponto inicial, o que significa que você pode usar o cookie nos subdomínios e no domínio de nível superior.
Em resumo, se você definir um cookie como o segundo exemplo acima mydomain.com
, ele poderá ser acessado por subdomain.mydomain.com
e vice-versa. Isso também pode ser usado para permitir sub1.mydomain.com
e sub2.mydomain.com
compartilhar cookies.
Veja também: