管理服務(wù)器與客戶端之間的狀態(tài)而 Cookie,雖然沒有被編入標(biāo)準(zhǔn)化 HTTP/1.1 的 RFC2616 中,但在 Web 網(wǎng)站方面得到了廣泛的應(yīng)用。
Cookie 的工作機(jī)制是用戶識(shí)別及狀態(tài)管理。 Web 網(wǎng)站為了管理用戶的狀態(tài)會(huì)通過 Web 瀏覽器,把一些數(shù)據(jù)臨時(shí)寫入用戶的計(jì)算機(jī)內(nèi)。接著當(dāng)用戶訪問該 Web 網(wǎng)站時(shí),可通過通信方式取回之前發(fā)放的 Cookie。
| 首部字段名 | 說明 | 首部類型 |
|---|---|---|
| Set-Cookie | 開始狀態(tài)管理所使用的Cookie信息 | 響應(yīng)首部字段 |
| Cookie | 服務(wù)器接收到的Cookie信息 | 請(qǐng)求首部字段 |

1.Set-Cookie
Set-Cookie: status=enable; expires=Tue, 05 Jul 2011 07:26:31 GMT; path=/; domain=.hackr.jp;
Set-Cookie字段的屬性**
| 屬性 | 說明 |
|---|---|
| NAME=VALUE | 賦予 Cookie 的名稱和其值(必須項(xiàng)) |
| expires=DATE | 指定瀏覽器可發(fā)送 Cookie 的有效期(若不指定則默認(rèn)為瀏覽器關(guān)閉為止) |
| path=PATH | 將服務(wù)器上的文件目錄作為 Cookie 的適用對(duì)象(若不指定則默認(rèn)為文檔所在的文件目錄) |
| domain=域名 | 作為 Cookie 適用對(duì)象的域名(若不指定則默認(rèn)為創(chuàng)建 Cookie 的服務(wù)器的域名) |
| Secure | 僅在 HTTPS 安全通信時(shí)才會(huì)發(fā)送 Cookie |
| HttpOnly | 加以限制,使 Cookie 不能被 JavaScript 腳本訪問。主要目的是為防止跨站腳本攻擊對(duì) Cookie 的信息竊取。 |
一旦 Cookie 從服務(wù)器發(fā)送到客戶端,服務(wù)端就不存在可以顯示刪除 Cookie 的方法。但可以通過覆蓋已過期的 Cookie,實(shí)現(xiàn)對(duì)客戶端 Cookie 的實(shí)質(zhì)性刪除操作。
secure 屬性
該屬性用于限制 Web 頁面僅在 HTTPS 安全連接時(shí),才可以發(fā)送 Cookie 。具體使用如下
Set-Cookie: name=value; secure
提示:當(dāng)省略 secure 屬性時(shí),不論 HTTP 還是 HTTPS ,都會(huì)對(duì) Cookie 進(jìn)行回收。
2. Cookie
Cookie: status=enable
首部字段 Cookie 會(huì)告知服務(wù)器,當(dāng)客戶端想獲得 HTTP 狀態(tài)管理支持時(shí),就會(huì)在請(qǐng)求中包含從服務(wù)器接收到的 Cookie。 接收到多個(gè) Cookie 時(shí),同樣可以以多個(gè) Cookie 形式發(fā)送。