1001Ferramentas
🍪 Dev

Parser de Cookie HTTP

Cole um header Set-Cookie e veja nome, valor, Domain, Path, Expires, Max-Age, HttpOnly, Secure, SameSite separadamente. Tudo no navegador.

Cookies analisados

Ler um Set-Cookie: valor e atributos separados

Um Set-Cookie parece uma lista de pares separados por ponto e vírgula, mas não é: só o primeiro par é o cookie. Todos os seguintes são atributos, e essa assimetria é a origem de erro em parser caseiro. A página faz a separação correta e aceita várias linhas de uma vez, com ou sem o nome do cabeçalho na frente.

Os atributos que mudam o comportamento são Domain e Path, que definem o escopo; Expires e Max-Age, que definem a duração; e Secure, HttpOnly e SameSite, que restringem quem envia e quem lê. Max-Age vence Expires quando os dois aparecem, e a ausência dos dois faz o cookie durar até o navegador fechar.

Um detalhe que causa surpresa: o atributo Domain não restringe, amplia. Sem Domain, o cookie vale apenas para o host exato que o definiu; com Domain igual ao domínio pai, ele passa a valer para todos os subdomínios. Ou seja, escrever o próprio domínio ali é o oposto de apertar o escopo — é abri-lo para qualquer subdomínio, inclusive um comprometido.

Perguntas frequentes

O nome do cookie pode conter qualquer caractere?
Não. Ele é um token HTTP, o que exclui espaço, ponto e vírgula, vírgula, igual e caracteres de controle. Já o valor é mais permissivo na prática, mas quem quer segurança codifica o valor — porque um ponto e vírgula ali quebra a separação de atributos e pode injetar um atributo que você não escreveu.
Por que Path não serve como fronteira de segurança?
Porque a separação por caminho não é isolada no navegador: script de uma página consegue alcançar cookie de outro caminho da mesma origem por caminhos indiretos. Path serve para organizar e reduzir tráfego, não para isolar. Isolamento de verdade vem de origem distinta.
Quantos cookies e de que tamanho?
A norma pede que o navegador suporte pelo menos 50 cookies por domínio e 4096 bytes por cookie, contando nome, valor e atributos. Os navegadores atuais dão mais, mas passar de 4 kB é pedir para o cookie ser descartado silenciosamente — e cookie que estoura o limite não gera erro nenhum.

Ferramentas Relacionadas