Cookie實(shí)際上是Web服務(wù)端與客戶端(典型的是瀏覽器)交互時(shí)彼此傳遞的一部分內(nèi)容,內(nèi)容可以是任意的,但要在允許的長(zhǎng)度范圍之內(nèi)??蛻舳藭?huì)將它保存在本地機(jī)器上(如IE便會(huì)保存在本地的一個(gè)txt文件中),由客戶端程序?qū)ζ溥M(jìn)行管理,過期的Cookie會(huì)自動(dòng)刪除。每當(dāng)客戶端訪問某個(gè)域下某個(gè)目錄中的網(wǎng)頁(yè)時(shí),便會(huì)將保存在本地并且屬于那個(gè)域下對(duì)應(yīng)目錄的有效Cookie信息附在網(wǎng)頁(yè)請(qǐng)求的頭部信息當(dāng)中一并發(fā)送給服務(wù)端。
不同的客戶端,其Cookie的保存方式、保存位置各不相同,這里只說一下Windows系統(tǒng)中IE的Cookie文件保存位置。
在Windows 2000/XP系統(tǒng)中,Cookie默認(rèn)保存在C:\Documents and Settings\\Cookies\目錄下(此處的為你登錄系統(tǒng)時(shí)使用的用戶名,在開始->運(yùn)行中輸入cookies便可打開該目錄),命名規(guī)則為@.txt。
與2000/XP不同的是,在Windows 95/98/ME系統(tǒng)中Cookie文件默認(rèn)是保存在C:\Windows\Cookies\目錄下的。
IE的Cookie文件實(shí)際上就是一個(gè)txt文本文件,只不過換行符標(biāo)記為Unix換行標(biāo)記(0x0A),由于記事本對(duì)Unix換行標(biāo)記不兼容,打開后內(nèi)容全在一行看起來不方便,我們可以用EditPlus或UltraEdit-32打開,打開之后,會(huì)看到形式如下的內(nèi)容:
name
value
domain/
1600
1263382784
30020896
452781968
30020892
*
每一行的內(nèi)容說明:
英文說明:
Line Summary
1 The Variable Name
2 The Value for the Variable
3 The Website of the Cookie’s Owner
4 Optional Flags
5 The Most Significant Integer for Expired Time, in FILETIME Format
6 The Least Significant Integer for Expired Time, in FILETIME Format
7 The Most Significant Integer for Creation Time, in FILETIME Format
8 The Least Significant Integer for Creation Time, in FILETIME Format
9 The Cookie Record Delimiter (a * character)
中文說明:
第一行 Cookie變量名
第二行 Cookie變量值
第三行 該Cookie變量所屬域,形如csdn.net/、blog.csdn.net/或blog.csdn.net/lixianlin/
第四行 可選標(biāo)志
第五行 該Cookie過期時(shí)間(FILETIME格式)的高位整數(shù)
第六行 該Cookie過期時(shí)間(FILETIME格式)的低位整數(shù)
第七行 該Cookie創(chuàng)建時(shí)間(FILETIME格式)的高位整數(shù)
第八行 該Cookie創(chuàng)建時(shí)間(FILETIME格式)的低位整數(shù)
第九行 Cookie記錄分隔符(為一個(gè)星號(hào)* )
補(bǔ)充一下,第三行中Cookie變量所屬域,如csdn.net/,它是一個(gè)根域,也就是一級(jí)域,表示該Cookie變量在該根域下的所有目錄中的網(wǎng)頁(yè)都有效,不管訪問該域下的哪個(gè)目錄中的網(wǎng)頁(yè),瀏覽器都會(huì)將該Cookie信息附在網(wǎng)頁(yè)頭部信息當(dāng)中發(fā)送給服務(wù)端;blog.csdn.net/,是一個(gè)二級(jí)域,表示該Cookie只對(duì)blog這個(gè)二級(jí)域下目錄中的網(wǎng)頁(yè)有效;blog.csdn.net/lixianlin/,是一個(gè)二級(jí)域下的目錄,只有訪問blog這個(gè)二級(jí)域下lixianlin這個(gè)目錄中的網(wǎng)頁(yè)時(shí),才會(huì)把該Cookie信息附在請(qǐng)求頭部信息當(dāng)中發(fā)送給服務(wù)端。需要指出的是csdn.net/和www.csdn.net/并不相同,前者是根域,后者是一個(gè)二級(jí)域,只是人們習(xí)慣了www這樣的形式,所以大多數(shù)的網(wǎng)站首頁(yè)都用http://www.xxx.com/這樣的二級(jí)域來訪問。
附FILETIME格式定義:
typedef struct _FILETIME {
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} FILETIME, *PFILETIME, *LPFILETIME;
聯(lián)系客服