Sobre esta ferramenta
Um analisador de cookies decompõe uma string de cookie HTTP em suas partes. Um cabeçalho de requisição "Cookie" (a mesma string que você obtém de document.cookie) é uma lista plana "name=value; name=value", enquanto cada cabeçalho de resposta "Set-Cookie" carrega um cookie mais seus atributos: Domain, Path, Expires, Max-Age, Secure, HttpOnly, SameSite, Partitioned e Priority. Esta ferramenta lê os dois: ela divide nos delimitadores corretos, decodifica a URL e remove as aspas dos valores (que podem conter "="), informa o tamanho em bytes de cada cookie em relação ao limite de cerca de 4096 bytes do navegador, e resolve Expires e Max-Age em datas e contagens regressivas legíveis.
Use-o para depurar por que um cookie não está sendo definido ou enviado — cole uma linha Set-Cookie e a ferramenta sinaliza os erros clássicos: SameSite=None sem Secure, um Expires/Max-Age ausente que silenciosamente o torna um cookie de sessão, uma carga útil grande demais, ou um Domain legado com ponto inicial. Ou cole um cabeçalho Cookie para inventariar exatamente o que uma requisição está carregando, copie-o como JSON para uma fixture de teste, ou identifique um cookie inchado que está deixando as requisições lentas. "Load my cookies" puxa o document.cookie desta página para que você possa inspecionar na hora os seus próprios cookies não HttpOnly.
Tudo é analisado localmente no seu navegador — nenhum cabeçalho, valor ou cookie é enviado a um servidor, e os cookies HttpOnly são intencionalmente invisíveis para document.cookie, então não aparecerão em \"Load my cookies\".
Perguntas frequentes
Qual é a diferença entre os cabeçalhos Cookie e Set-Cookie?
O cabeçalho Cookie é enviado pelo navegador ao servidor como uma única linha de pares "name=value" separados por ponto e vírgula, sem atributos. Set-Cookie vai no sentido contrário — um cabeçalho por cookie na resposta — e carrega atributos como Domain, Path, Expires, Max-Age, Secure e SameSite que dizem ao navegador como armazená-lo e enviá-lo.
Quem prevalece, Max-Age ou Expires, quando ambos estão definidos?
Max-Age tem precedência. Se um cabeçalho Set-Cookie incluir os dois, os navegadores que suportam Max-Age o utilizam e ignoram Expires; Max-Age é um tempo de vida em segundos, enquanto Expires é uma data absoluta. Um Max-Age de 0 ou um valor negativo exclui o cookie imediatamente.
Por que meu cookie SameSite=None está sendo rejeitado?
Os navegadores exigem o atributo Secure sempre que SameSite=None é usado, de modo que o cookie só seja enviado por HTTPS. Um Set-Cookie com SameSite=None mas sem o sinalizador Secure é descartado — adicione Secure (e sirva por HTTPS) para corrigir isso.