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