--- title: Set-Cookie slug: Web/HTTP/Headers/Set-Cookie translation_of: Web/HTTP/Headers/Set-Cookie ---
O cabeçalho de resposta HTTP Set-Cookie
é usado para enviar cookies de um servidor para o agente usuário.
Para mais informações, veja o guia em HTTP cookies.
Header type | {{Glossary("Response header")}} |
---|---|
{{Glossary("Forbidden header name")}} | no |
Set-Cookie: <nome-cookie>=<valor-cookie> Set-Cookie: <nome-cookie>=<valor-cookie>; Expires=<date> Set-Cookie: <nome-cookie>=<valor-cookie>; Max-Age=<non-zero-digit> Set-Cookie: <nome-cookie>=<valor-cookie>; Domain=<domain-value> Set-Cookie: <nome-cookie>=<valor-cookie>; Path=<path-value> Set-Cookie: <nome-cookie>=<valor-cookie>; Secure Set-Cookie: <nome-cookie>=<valor-cookie>; HttpOnly Set-Cookie: <nome-cookie>=<valor-cookie>; SameSite=Strict Set-Cookie: <nome-cookie>=<valor-cookie>; SameSite=Lax // São possíveis multiplas diretivas, por exemplo: Set-Cookie: <nome-cookie>=<valor-cookie>; Domain=<domain-value>; Secure; HttpOnly
<nome-cookie>=<valor-cookie>
<nome-cookie>
pode ser qualquer caractere US-ASCII exeto caracteres de controle (CTLs), espaços, ou tabulações (TAB). Também não deve conter um separador de caractere como os seguintes: ( ) < > @ , ; : \ " / [ ] ? = { }.<valor-cookie>
pode opcionalmente ser atribuido entre aspas duplas e qualquer caractere US-ASCII são permitidos, exceto caracteres de controle (CTLs), espaços em branco, aspas duplas, vírgula, barra invertida e ponto e vírgula. Codificação: Muitas implementações realizam codificação URL nos valores de cookie, contudo não é obrigatório pela especificação do RFC. Isso ajuda a satisfazer os requisitos sobre quais caracteres são permitidos para <valor-cookie>.Prefixo __Secure-
: Cookies com o nome começando com __Secure-
(hífen faz parte do prefixo) precisam ser atribuidos com a flag de segurança e precisam ser de uma página segura (HTTPS).Prefixo __Host-
: Cookies com o nome começando com __Host-
(hífen faz parte do prefixoprecisam ser atribuidos com a flag de segurança, precisam ser de uma página segura (HTTPS), não precisam ter um domínio especificado (portanto não são enviados para subdomínios) e o caminho (path) precisa ser "/".Quando uma data de expiração é atribuída, o tempo e a data são relativos ao cliente em que os cookies estão sendo configurados e não ao servidor.
.example.com
) são ignorados.Nota: Sites inseguros (http:
) não podem mais atribuir cookies com a diretiva "secure" (novo em Chrome 52+ firefox Firefox 52+).
Sessão de cookie serão removidos quando o cliente desligar. Eles não especificam as diretivas Expires ou Max-Age. Note que o navegador web tem frequentemente a opção "restaurar sessão" habilitada..
Set-Cookie: sessionid=38afes7a8; HttpOnly; Path=/
Ao invés de expirar quando o cliente fecha, os cookies permantentes expiram numa data especificada (Expires), ou depois de uma duração de tempo especificada (Max-Age).
Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly
Um cookie pertencente a um domínio que não inclui o servidor original, deve ser rejeitado pelo agente usuário. Por exemplo: O cookie seguinte será rejeitado se foi atribuído por um servidor hospedado em originalcompany.com.
Set-Cookie: qwerty=219ffwef9w0f; Domain=somecompany.co.uk; Path=/; Expires=Wed, 30 Aug 2019 00:00:00 GMT
Nomes de cookies com os prefixos "__Secure-" e "__Host-" podem ser utilizados apenas de eles forem atribuídos com a diretiva "secure" de uma origem segura (HTTPS). Além disso, cookies com o prefixo "__Host-" devem ter um caminho (path) de "/" (o host inteiro) e não devem ter um atributo de dominio. Para clientes que não implementam prefixos de cookie, você não pode contar com essas garantias adicionais e os cookies serão sempre aceitos.
// Ambos aceitos quando de uma origem segura (HTTPS) Set-Cookie: __Secure-ID=123; Secure; Domain=example.com Set-Cookie: __Host-ID=123; Secure; Path=/ // Rejeitado devido a não atribuição da diretiva Secure Set-Cookie: __Secure-id=1 // Rejeitado devido a falta da diretiva Path=/ Set-Cookie: __Host-id=1; Secure // Rejeitado devido a atribuição de um domínio Set-Cookie: __Host-id=1; Secure; Path=/; domain=example.com
Especificação | Título |
---|---|
{{RFC("6265", "Set-Cookie", "4.1")}} | HTTP State Management Mechanism |
{{RFC("draft-ietf-httpbis-cookie-prefixes-00")}} | Cookie Prefixes |
{{RFC("draft-ietf-httpbis-cookie-same-site-00")}} | Same-Site Cookies |
{{RFC("draft-ietf-httpbis-cookie-alone-01")}} | Strict Secure Cookies |
{{Compat("http.headers.Set-Cookie")}}
http:
) não podem mais atribuir cookies com a diretiva "secure".