diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
commit | 074785cea106179cb3305637055ab0a009ca74f2 (patch) | |
tree | e6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/pt-br/web/http/headers/set-cookie/index.html | |
parent | da78a9e329e272dedb2400b79a3bdeebff387d47 (diff) | |
download | translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.gz translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.bz2 translated-content-074785cea106179cb3305637055ab0a009ca74f2.zip |
initial commit
Diffstat (limited to 'files/pt-br/web/http/headers/set-cookie/index.html')
-rw-r--r-- | files/pt-br/web/http/headers/set-cookie/index.html | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/files/pt-br/web/http/headers/set-cookie/index.html b/files/pt-br/web/http/headers/set-cookie/index.html new file mode 100644 index 0000000000..35857d6b4b --- /dev/null +++ b/files/pt-br/web/http/headers/set-cookie/index.html @@ -0,0 +1,167 @@ +--- +title: Set-Cookie +slug: Web/HTTP/Headers/Set-Cookie +translation_of: Web/HTTP/Headers/Set-Cookie +--- +<div>{{HTTPSidebar}}</div> + +<p>O cabeçalho de resposta HTTP <strong><code>Set-Cookie</code></strong> é usado para enviar cookies de um servidor para o agente usuário.</p> + +<p>Para mais informações, veja o guia em <a href="/en-US/docs/Web/HTTP/Cookies">HTTP cookies</a>.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Header type</th> + <td>{{Glossary("Response header")}}</td> + </tr> + <tr> + <th scope="row">{{Glossary("Forbidden header name")}}</th> + <td>no</td> + </tr> + </tbody> +</table> + +<h2 id="Sintaxe">Sintaxe</h2> + +<pre class="syntaxbox">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 +</pre> + +<h2 id="Diretivas">Diretivas</h2> + +<dl> + <dt><code><nome-cookie>=<valor-cookie></code></dt> + <dd>Um cookie começa com um par nome-valor: + <ul> + <li>Um <code><nome-cookie></code> 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: ( ) < > @ , ; : \ " / [ ] ? = { }.</li> + <li>Um <code><valor-cookie></code> 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. <strong>Codificação</strong>: 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>.</li> + <li><strong><code>Prefixo __Secure-</code></strong>: Cookies com o nome começando com <code>__Secure-</code> (hífen faz parte do prefixo) precisam ser atribuidos com a flag de segurança e precisam ser de uma página segura (HTTPS).</li> + <li><strong><code>Prefixo __Host-</code></strong>: Cookies com o nome começando com <code>__Host- </code>(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 "/".</li> + </ul> + </dd> + <dt>Expires=<data> {{optional_inline}}</dt> + <dd>O tempo de vida máximo do cookie como uma marcação de tempo (timestamp) HTTP. Veja {{HTTPHeader("Date")}} para a formatação detalhada. Se não especificado, o cookie terá o tempo de vida de uma <strong>sessão de cookie. </strong>Uma sessão é finalizada quando o cliente é desligado, significando que as sessões de cookies serão removidos nesse momento. Contudo, muitos navegadores web têm uma característica denominada de "restaurar sessão" que salvará todas suas abas e as trará de volta na próxima vez em que você utilizar o navegador. Os cookies estarão também presentes e será como se o navegador nunca tivesse sido fechado.</dd> + <dt></dt> + <dd> + <p>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.</p> + </dd> + <dt>Max-Age=<digito-diferente-de-0> {{optional_inline}}</dt> + <dd>Número de segundos até o cookie expirar. Um ou mais digitos de 1 a 9. Navegadores antigos (ie6, ie7 e ie8) não suportam Max-Age. Para cada navegador, se ambos (Expires e Max-Age) forem atribuídos, Max-Age terá precedência.</dd> + <dt>Domain=<valor-domínio> {{optional_inline}}</dt> + <dd>Especifica os hosts aos quais o cookie será enviado. + <ul> + <li>Se não for especificado, será usado o host do URL do documento atual, não incluindo subdomínios.</li> + <li>Ao contrário das especificações anteriores, pontos de prefixo em nomes de domínio (<code>.example.com</code>) são ignorados.</li> + <li>Se um domínio for especificado, subdomínios estarão sempre incluídos.</li> + </ul> + </dd> + <dt>Path=<valor-caminho> {{optional_inline}}</dt> + <dd>Indica um caminho (path) de URL que necessita existir no recurso solicitado antes de enviar o cabeçalho de Cookie. O caractere %x2F ("/") é interpretado como um separador de diretório e os sub-diretórios serão também correspondidos (por exemplo: Path=/docs, "/docs", "/docs/Web", ou "/docs/Web/HTTP" serão todos correspondidos).</dd> + <dt>Secure {{optional_inline}}</dt> + <dd>Um cookie seguro apenas será enviado para o servidor quando uma requisição utilizando os protocol SSL e HTTPS for realizada. No entanto, informações confidenciais ou sensíveis não deverão ser armazenadas ou transmitidas em Cookies HTTP pois todo o mecanismo é inerentemente inseguro e isso não significa, por exemplo que qualquer informação é criptografada. + <p class="note"><strong>Nota:</strong> Sites inseguros (<code>http:</code>) não podem mais atribuir cookies com a diretiva "secure" (novo em Chrome 52+ firefox Firefox 52+).</p> + </dd> + <dt>HttpOnly {{optional_inline}}</dt> + <dd>Cookies HttpOnly não são acessíveis via JavaScript através da propriedade {{domxref("Document.cookie")}}, as API's {{domxref("XMLHttpRequest")}} e {{domxref("Request")}} são utilizadas para aliviar ataques de cross-site scripting ({{Glossary("XSS")}}).</dd> + <dt>SameSite=Strict<br> + SameSite=Lax {{optional_inline}} {{experimental_inline}}</dt> + <dd>Permite que servidores garantam que um cookie não deve ser enviado juntamente com solicitações de sites cruzados (cross-site) , o que fornece novamente alguma proteção aos ataques de falsificação de solicitação entre sites (CSRF) ({{Glossary("CSRF")}})<em> .</em></dd> +</dl> + +<h2 id="Exemplos">Exemplos</h2> + +<h3 id="Sessão_de_cookie">Sessão de cookie</h3> + +<p>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..</p> + +<pre>Set-Cookie: sessionid=38afes7a8; HttpOnly; Path=/</pre> + +<h3 id="Cookie_permanente">Cookie permanente</h3> + +<p>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).</p> + +<pre>Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly +</pre> + +<h3 id="Domínios_inválidos">Domínios inválidos</h3> + +<p>Um cookie pertencente a um domínio que não inclui o servidor original, <a href="https://tools.ietf.org/html/rfc6265#section-4.1.2.3">deve ser rejeitado pelo agente usuário</a>. Por exemplo: O cookie seguinte será rejeitado se foi atribuído por um servidor hospedado em originalcompany.com.</p> + +<pre>Set-Cookie: qwerty=219ffwef9w0f; Domain=somecompany.co.uk; Path=/; Expires=Wed, 30 Aug 2019 00:00:00 GMT</pre> + +<h3 id="Prefixo_do_cookie">Prefixo do cookie</h3> + +<p>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.</p> + +<pre>// 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 +</pre> + +<h2 id="Especificações">Especificações</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Especificação</th> + <th scope="col">Título</th> + </tr> + <tr> + <td>{{RFC("6265", "Set-Cookie", "4.1")}}</td> + <td>HTTP State Management Mechanism</td> + </tr> + <tr> + <td>{{RFC("draft-ietf-httpbis-cookie-prefixes-00")}}</td> + <td>Cookie Prefixes</td> + </tr> + <tr> + <td>{{RFC("draft-ietf-httpbis-cookie-same-site-00")}}</td> + <td>Same-Site Cookies</td> + </tr> + <tr> + <td>{{RFC("draft-ietf-httpbis-cookie-alone-01")}}</td> + <td>Strict Secure Cookies</td> + </tr> + </tbody> +</table> + +<h2 id="Compatibilidade_de_navegador">Compatibilidade de navegador</h2> + +<p class="hidden">A tabela de compatibilidade desta página é gerada a partir das estrutura de dados. Se você quiser contribir com os dados, verifique <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> e nos envie um pull request.</p> + +<p>{{Compat("http.headers.Set-Cookie")}}</p> + +<h2 id="Notas_de_compatibilidade">Notas de compatibilidade</h2> + +<ul> + <li>Começando com Chrome 53 e Firefox 52, sites inseguros (<code>http:</code>) não podem mais atribuir cookies com a diretiva "secure".</li> +</ul> + +<h2 id="Veja_também">Veja também</h2> + +<ul> + <li><a href="/en-US/docs/Web/HTTP/Cookies">HTTP cookies</a></li> + <li>{{HTTPHeader("Cookie")}}</li> + <li>{{domxref("Document.cookie")}}</li> +</ul> |