cookie是一種早期的客戶端存儲機(jī)制,起初是針對服務(wù)器端腳本設(shè)計(jì)使用的,只適合存儲少量文本數(shù)據(jù)。從最底層來看,作為HTTP協(xié)議的一種擴(kuò)展實(shí)現(xiàn)它。cookie數(shù)據(jù)會(huì)自動(dòng)在Web瀏覽器和Web服務(wù)器之間傳輸,因此服務(wù)端腳本就可以讀、寫存儲在客戶端的cookie的值。任何以cookie形式存儲的數(shù)據(jù),不論服務(wù)器端是否需要,每一次HTTP請求都會(huì)把這些數(shù)據(jù)傳輸?shù)椒?wù)器端。cookie目前仍然被客戶端程序員大量使用的一個(gè)重要原因是:所有新舊瀏覽器都支持它。但是,隨著WebStorage的普及,cookie終將會(huì)回歸到最初的形態(tài):作為一種被服務(wù)端腳本使用的客戶端存儲機(jī)制。本文將詳細(xì)介紹Cookie
概述
“cookie”這個(gè)名字沒有太多的含義,但是在計(jì)算機(jī)歷史上其實(shí)很早就用到它了?!癱ookie”和“magic cookie”用于代表少量數(shù)據(jù),特別是指類似密碼這種用于識別身份或者許可訪問的保密數(shù)據(jù)。在javascript中,cookie用于保存狀態(tài)以及能夠?yàn)閃eb瀏覽器提供一種身份識別機(jī)制。但是,javascript中使用cookie不會(huì)采用任何加密機(jī)制,因此它們是不安全的。但是,通過https來傳輸cookie數(shù)據(jù)是安全的,不過這和cookie本身無關(guān),而和https協(xié)議相關(guān)
HTTP Cookie,通常直接叫做cookie,最初是在客戶端用于存儲會(huì)話信息的。該標(biāo)準(zhǔn)要求服務(wù)器對任意HTTP請求發(fā)送Set-Cookie HTTP頭作為響應(yīng)的一部分,其中包含會(huì)話信息。例如,這種服務(wù)器響應(yīng)的頭可能如下
HTTP/1.1 200 OK Content-type: Text/html Set-Cookie:&nb