Cookies基礎(chǔ)
Cookies是web站點放置到你的硬盤上的程序。它們駐留在你的計算機上收集關(guān)于你在因特網(wǎng)上所做的一切事情的信息,并且web站點可以在任何時候讀取到Cookies收集到的所有信息。
在新聞中這樣定義是公平的,問題是,這個定義中沒有一個是正確的,Cookies不是程序,它不能象程序一樣能做很多事,因此它們自己不能收集任何信息,也不能收集關(guān)你你的機器的任何信息。
這里有一個關(guān)于Cookies的比較恰當(dāng)?shù)亩x:
一個Cookies是web服務(wù)器存放在用戶硬盤的一段文本,Cookies允許一個wen站點在用戶的機器存放一些文本的信息,并可以在以后重新獲取它。這個基于文本的信息存儲著一些“鍵-值”對。
舉個例子,一個web站點要為每一個來訪者建立一個唯一的ID號碼,并且將這個號碼存儲到每個來訪者的機器的Cookies中。
如果你用微軟的IE瀏覽一個web,你能夠在你的硬盤看到你機器上的所有的Cookies,通常它們會駐留在目錄c:\windows\cookies(win98),或者C:\Documents and Settings\user name\Cookies(win2000,win xp) 下面,當(dāng)我看我的機器的這個目錄的時候,我發(fā)現(xiàn)有165個文件。每個都是一個包含了“鍵-值”對的文本文件,每個站點都有一個Cookies文件。
你能夠看到這個目錄中的每一個文件都是一個簡單的,普通的文本文件,你能夠通過文件名看到是哪個web站點在你的機器放置了Cookies(這個信息也保存在了文件內(nèi)容中),你可以打開每個文件查看其內(nèi)容。
例如,我已經(jīng)訪問過了站點 goto.com,這個站點就會在我的機器上放置一個Cookie,這個Cookie文件的名字叫g(shù)oto.com,包含下面的信息:
UserID A9A3BECE0563982D www.goto.com/站點 goto.com已經(jīng)在我的機器上放置了一個單個的“鍵-值”對,鍵的名字是 UserID,鍵的值是 A9A3BECE0563982D,我第一次訪問goto.com站點,站點分配了一個唯一的ID給我并把這個ID存放到了我的機器。
大多數(shù)的站點僅僅只在你的機器存放一個用戶ID的Cookie,但這不是限制,一個站點可以在你的機器存放許多的“鍵-值”對,只要它喜歡。
Cookies文件只包含這些簡單的“鍵-值”對的文本,、它不是程序,因此它不能“做”任何事情,一個web站點只能重新取得它自己放置到你硬盤的信息,它不能從其它的Cookies文件中取得信息,也不能看到你的機器的任何別的東西
Cookies數(shù)據(jù)如何移動
正如你在以上章節(jié)中看到的,Cookie數(shù)據(jù)是簡單的web站點放置在你的硬盤上的“鍵-值”對的文本,所有的Cookies文件都是如此。Web站點保存這些數(shù)據(jù),然后又可以取回來,一個web站點只能取回它自己存放在你機器的數(shù)據(jù),不能看到其它的Cookie,也不能看到你機器上的其它任何東西。
Cookie數(shù)據(jù)按照下面的方式移動:
1 如果你在你的瀏覽器中輸入了web的URL,瀏覽器會象這個URL的web站點發(fā)送請求,比如,你在瀏覽器中輸入一下URL:http://www.verizon.com,瀏覽器會將請求發(fā)送到Verizon的web服務(wù)器,請求它的首頁。
2 當(dāng)瀏覽器發(fā)送請求時,它會查看你機器上跟域名www.verizon.com有關(guān)的Cookie文件,如果存在同www.verizon.com有關(guān)的Cookie,瀏覽器就會把相關(guān)的Cookie“鍵-值”對數(shù)據(jù)跟請求一起發(fā)送到服務(wù)器,如果不存在同www.verizon.com有關(guān)的Cookie,則瀏覽器不發(fā)送Cookie到服務(wù)器。
3 Verizon的web服務(wù)器收到Cookies數(shù)據(jù)和一個頁面的Http請求,如果收到了Cookie“鍵-值”對,Verizon的web服務(wù)器將能夠使用它們。
4 如果沒有收到Cookie“鍵-值”對,Verizon的web服務(wù)器就能知道你以前沒有訪問過這個站點,服務(wù)器建立一個新的用戶ID,并在把你所請求的頁面發(fā)回到你的瀏覽器時,把用戶ID“鍵-值”對發(fā)送到你的機器,你的硬盤就會駐留了對應(yīng)這個站點的“鍵-值”對Cookie。
5 web服務(wù)器可以在你訪問站點時,隨時的更改“鍵-值”對或者加入一個新的“鍵-值”對。
同“鍵-值”對發(fā)送到客戶端的還有同這個“鍵-值”對相關(guān)的一些其它信息,其中之一就是Cookie有效期,另一個就是路徑(為了在同一個站點的不通部分關(guān)聯(lián)不同的Cookie)。
6 你能夠控制這個過程,你可以在你的瀏覽器中設(shè)置當(dāng)web站點向你的機器發(fā)送Cookie時你是接受還是拒絕