因特網的Cookie技術極其簡單,卻有着旺盛的生命力。Cookie開始引起衆人的注意是從2000年二月份隨着網絡隱私權的提出開始的,有關的辯論至今仍在繼續。從另一方面來說,Cookie使得瀏覽網頁更容易了。幾乎所有的主要的網站設計者都使用了Cookie,因爲他們想爲瀏覽網站的人提供一個更好的瀏覽環境,同時也能更加準確地收集訪客的信息。
有家頗有影響的報紙上曾刊登了一篇很有深度的關於網絡隱私的文章,上面對於Cookie的定義是這樣的:
“Cookie是Web網站放在您的硬盤上的程序。它守在您的電腦裏,蒐集您的信息以及您在因特網上所做的任何事情,當Web站點需要的時候它能夠下載所有這些蒐集到的信息。”
像這樣的定義在報刊中相當普遍。問題是,它的定義犯了很大的錯誤。Cookie不是程序,而且它不能像程序一樣地運行,所以它無法爲自己蒐集任何信息。它也不能從您的電腦上取得您的任何個人資料。
Cookie的比較確切的定義應該是這個樣子:
“Cookie是Web服務器保存在用戶硬盤上的一段文本。Cookie允許一個Web站點在用戶的電腦上保存信息並且隨後再取回它。信息的片斷以‘名/值’對(name-value pairs)的形式儲存。”
舉例來說,一個Web站點可能會爲每一個訪問者產生一個唯一的ID,然後以Cookie文件的形式保存在每個用戶的機器上。
如果您使用IE瀏覽器訪問Web,您會看到所有保存在您的硬盤上的Cookie。它們最常存放的地方是:c:windowscookies(在Win 2000中則是C:Documents and Settings您的用戶名Cookies——作者注)。在我的機器上共有165個文件。每一個文件都是一個由“名/值”對組成的文本文件,另外還有一個文件保存有所有對應的Web站點的信息。
在這個文件夾裏的每個Cookie文件都是一個簡單而又普通的文本文件。透過文件名,您可以看到是哪個Web站點在您的機器上放置了Cookie(當然站點信息在文件裏也有保存)。您也能雙擊打開每一個Cookie文件。
比如,我訪問了goto.com,而且這個站點在我的電腦上放了個Cookie。goto.com的Cookie文件包含了這樣的內容:
UserID A9A3BECE0563982D www.goto.com/
goto.com在我的電腦上存入了一個單一的“名/值”對。“名/值”對的“名”是UserID,“值”是A9A3BECE0563982D。在我第一次訪問goto.com的時候,該網站爲我分配了一個唯一的ID並存在我的電腦裏。
(注:除了上面舉例的“名/值”對,可能會有其它的“名/值”對同時保存下來。那是瀏覽器的一些內部信息,一般用戶不必多做了解。)
Amazon.com在我的電腦上保存了稍稍多一些的信息。當我查看Amazon在我的電腦上建立的Cookie文件時,它包含以下內容:
session-id-time 954242000 amazon.com/
session-id 002-4135256-7625846 amazon.com/
x-main eKQIfwnxuF7qtmX52x6VWAXh@Ih6Uo5H amazon.com/
ubid-main 077-9263437-9645324 amazon.com/
以上內容顯示出Amazon存儲了一個主用戶ID ubid-main,一個標記每次任務的ID session-id及任務發生的時間session-id-time。還有一個x-main,不知道是什麼。
大多數的網站在您的電腦上只保存一條信息,即用戶ID。但一個站點可以用Cookie存儲的“名/值”對的最大數目沒有任何限制。
一個“名/值”對僅僅是一條命名的數據,它不是程序,也不能“做”任何事情。一個網站只能取得它放在您的電腦中的信息,它無法從其它的Cookie文件中取得信息,也無法得到您的電腦上的其它任何東西。
Cookie數據僅僅是Web站點在瀏覽者硬盤上存儲的“名/值”數據對。這就是Cookie的所有內容。Web站點保存了數據,隨後又把它取回。一個Web站點只能取得它保存在你電腦上的內容,無法偷窺別的Cookie,更不要說電腦上其他的數據。
Cookie數據的流動過程如下:
·如果在瀏覽器上鍵入了一個Web站點的URL,瀏覽器向Web站點請求讀取網頁。比如,您輸入了:
http://www.amazon.com
瀏覽器將從Amazon的服務器讀取它的主頁。
·在做上面工作的同時,瀏覽器將從電腦上尋找Amazon網站設置的Cookie文件。如果找到了Amazon的Cookie文件,瀏覽器會把文件中的所有“名/值”對同先前的URL一同發給Amazon服務器。如果沒有找到,就不發送Cookie數據。
·Amazon服務器接收Cookie數據和對網頁的請求。如果存在“名/值”對,Amazon將使用它。
·如果沒有收到“名/值”對,Amazon知道您在此之前沒有訪問過它的站點,服務器會爲您創建一個新的ID放進Amazon的數據庫中,然後把“名/值”對放在傳回的網頁的頭信息裏傳給您。您的瀏覽器將在硬盤上保存“名/值”對。
·每當您再次訪問網站時,網站服務器會改變“名/值”對或增加新的“名/值”對。
另外,服務器會隨着“名/值”對發送一些其他信息。其一是生存期(Expiration date);還有一個是路徑(網站藉此把不同的Cookie值與不同的網站部位關聯起來)。
您有權控制這個過程。您可以設置一個選項讓瀏覽器在收到網站發來的“名/值”對時提醒您,由您決定是否接受。