簡介
本文檔介紹什麼是HTTP cookie,以及會話cookie和持續cookie之間的區別。
背景資訊
Cookie是Web伺服器傳送到瀏覽器的資料字串。當瀏覽器將來請求來自同一域的對象時,瀏覽器會將相同的資料字串傳送回源伺服器。
資料從Web伺服器以名為「Set-Cookie」的HTTP報頭形式傳送。 瀏覽器將名為「Cookie」的HTTP標頭中的cookie傳送回伺服器。
以下是HTTP Cookie事務可能出現的示例:
來自Web伺服器的HTTP響應:
[...]
Set-Cookie: first.lastname
來自客戶端的HTTP GET:
[...]
Cookie: first.lastname
在示例事務中,Web伺服器通知客戶端建立cookie「first.lastname」。 下次客戶端從此域請求對象時,它將隨請求傳送cookie。這說明了Web伺服器如何能夠回撥某些資訊,如使用者登入。
Cookie型別
有兩種不同型別的cookie — 會話cookie和持續cookie。如果cookie不包含到期日期,則將其視為會話cookie。會話cookie儲存在記憶體中,從不寫入磁碟。瀏覽器關閉時,從此時開始cookie將永久丟失。如果cookie包含到期日期,則被視為永久cookie。在到期中指定的日期,將從磁碟中刪除cookie。
cookie可以包含多個不同的欄位,這些欄位之間用分號分隔。定義如下:
到期
expires="Wdy, DD-Mon-YYYY HH:MM:SS GMT"
確定何時刪除cookie。
路徑
path=/
確定返回cookie的路徑。在本示例中,當轉到域中的根路徑時,將傳送cookie。
域
domain=whatever.domain.com
指定cookie用於哪個域。如果此域與當前瀏覽到的域不匹配,則將其視為「第三方cookie」,將被瀏覽器拒絕。這可以防止一個域為另一個域設定cookie。