用戶追蹤-cookie技術

前言

Cookie是如此的重要,以至於我們後面要講到的回頭客定向、訪客頻次定向、用戶定向等等都需要基於此技術纔可以實現,並且我們日常工作中所能見到的第三方監測工具如doubleclick、99click、秒針等也都要利用cookie技術,網站分析工具如GA、百度統計、CNZZ等也需要利用cookie。如果沒有Cookie,互聯網廣告市場將受到巨大打擊,尤其對於目前我們談論的精準廣告而言。如果沒有Cookie,網站分析也不從做起,遑論優化了。

Cookie是什麼

Cookie在英文中是小甜品的意思,但在計算機語言中,Cookie指的是當你瀏覽某網站時,網站存儲在你電腦上的一個小文本文件,伴隨着用戶請求和頁面在 Web 服務器和瀏覽器之間傳遞。它記錄了你的用戶ID,密碼、瀏覽過的網頁、停留的時間等信息,用於用戶身份的辨別。Cookie通常是以user@domain格式命名的,user是你的本地用戶名,domain是所訪問的網站的域名。

爲什麼要Cookie

因爲HTTP協議是無狀態的,對於一個瀏覽器發出的請求,服務器無法區分是不是同一個來源,無法知道上一次用戶做了什麼。所以,需要額外的數據用於維護會話。 Cookie 正是這樣的一段隨HTTP請求一起被傳遞的額外數據,用於維護瀏覽器和服務器的會話。我們可以想象一個場景,你沒有登錄京東時在京東上購物,選擇了3件商品放入購物車,在結算時,京東爲什麼還能知道這三件商品是什麼?沒錯,是Cookie!

Cookie的傳遞流程

Cookie利用網頁代碼中的HTTP頭信息,伴隨着用戶請求和頁面在 Web 服務器和瀏覽器之間傳遞。例如:當你在瀏覽器地址欄中鍵入了Amazon的URL,瀏覽器會向Amazon發送一個讀取網頁的請求,並將結果在顯示器上顯示。在發送之前,該網頁在你的電腦上尋找Amazon網站設置的Cookie文件,如果找到,瀏覽器會把Cookie文件中的數據連同前面輸入的URL一同發送到Amazon服務器。服務器收到Cookie數據,就會在他的數據庫中檢索你的ID,你的購物記錄、個人喜好等信息,並記錄下新的內容,增加到數據庫和Cookie文件中去。如果沒有檢測到Cookie或者你的Cookie信息與數據庫中的信息不符合,則說明你是第一次瀏覽該網站,服務器的CGI程序將爲你創建新的ID信息,並保存到數據庫中。(此例子來源於百度百科——Cookie

關於Cookie的一些知識點

1、Cookie是基於瀏覽器的,因此當電腦上安裝多個瀏覽器時,服務器會生成多個Cookie。雖然是同一個人,但服務器是識別爲多個用戶。
2、Cookie是基於瀏覽器的,因此當同一臺電腦有多個人使用時,服務器也只會生成一個Cookie。雖然是多個人,但服務器會認爲是一個用戶。補充:在多個人均登錄賬戶時,服務器可以以賬戶爲區分,爲每個賬戶生成單獨的cookie,比如多人用同一臺電腦登錄新浪微博。(感謝數據挖掘_PHP的指正)
3、Cookie是無法跨設備進行設置的。比如我們在單位和家裏分別使用兩臺電腦,即使我們使用同一種同一版本的瀏覽器,我們還是生成了兩個Cookie,服務器會認爲是兩個用戶。(PS:現在有些瀏覽器可以同步數據,比如Chrome、Friefox,可以避免這種問題)

請注意:以上所說的Cooke指的全部是Http Cookie。有一種Cookie——Flash Cookie,可以解決多瀏覽器的問題。

關於Flash Cookie

FlashCookie是由FlashPlayer控制的客戶端共享存儲技術,鑑於目前Flash技術的普遍性,幾乎所有的網站都採用,所以具有同Http Cookie一樣的作用。在技術上,通過使用JavaScript與ActionScript可以將Http Cookie和Flash Cookie進行互通。

Flash cookie的優勢在於:
1、跨瀏覽器
不管用戶的計算機上安裝了多少個瀏覽器或者瀏覽器的不同版本,使用Flash Cookie能夠使所有的瀏覽器共用一個Cookie。
2、不易刪除
所有的瀏覽器均提供了清除Http Cookie的快捷方式,但Flash Cookie並沒有此種方式,並且其保存位置非常隱蔽,網民難以刪除。
3、容量更大
Flash Cookie可以容納最多100千字節的數據,而一個標準的HTTP Cookie只有4千字節。

作爲網絡廣告行業的銷售人員,瞭解以上知識就已經綽綽有餘了。如果想了解更多,可以接着往下看。

Cookie的數量

1、大多數瀏覽器支持最大爲 4096 字節的 Cookie。因此最好用 Cookie 來存儲用戶 ID 之類的標識符,用戶的詳細信息則通過用戶 ID從數據庫或其他數據源中讀取。
2、瀏覽器還限制站點可以在用戶計算機上存儲的 Cookie 的數量。大多數瀏覽器只允許每個站點存儲 20 個 Cookie;當存儲更多 Cookie時,最舊的 Cookie 便會被丟棄。有些瀏覽器還會對它們將接受的來自所有站點的 Cookie 總數作出絕對限制,通常爲 300 個。

Cookie的失效時間

1、瀏覽器的Cookie設置會決定是否保存Cookie數據。如果瀏覽器不允許Cookie保存,則關掉瀏覽器後,這些數據就消失。
2、如果瀏覽器允許保存Cookie,那麼Cookie的時間由服務器的設置決定。Cookie有一個Expires(有效期)屬性,這個屬性決定了Cookie的保存時間,服務器可以通過設定Expires字段的數值,來改變Cookie的保存時間。如果不設置該屬性,那麼Cookie只在瀏覽網頁期間有效,關閉瀏覽器,這些Cookie自動消失,絕大多數網站屬於這種情況。通常情況下,Cookie包含Server、Expires、Name、value這幾個字段,其中對服務器有用的只是Name和value字段,Expires等字段的內容僅僅是爲了告訴瀏覽器如何處理這些Cookies。

Cookie的樣例

1、Cookie的名稱

2、Cookie的內容

3、從頁面代碼監測工具看Cookie

Cookie的位置

1、Http Cookie的位置
Windows 9X系統 C:WindowsCookies
Windows NT/2000/XP系統 C:\Documents and Settings\用戶名\Cookies
win7系統 ?C:\Users\*\AppData\Roaming\Microsoft\Windows\Cookies\*
OS X系統 ~/Users/用戶名/Library/Cookies

2、Flash Cookie的位置
非Win7系統
C:\Documents and Settings\[username你的用戶名]\Application Data\Macromedia\Flash Player\#SharedObjects
Win7
C:\Users\[username你的用戶名]\Application Data\Macromedia\Flash Player
其中:Users可能顯示爲“用戶”
OS X系統
~/Users/用戶名/Library/Preferences/Macromedia/Flash Player/#SharedObjects
~/Users/用戶名/Library/Preferences/Macromedia/Flash Player/macromedia.com/support/flashplayer/sys/

第一方Cookie和第三方Cookie

大多數的第三方監測工具和網站分析工具都會採用第三方Cookie。所謂第一方和第三方的說法,是用來確定Cookie的歸屬的,這個歸屬是指Cookie中記錄的域(domain)。第一方和第三方的唯一區別只是:Cookie中的域名是否和被訪問網站的域一樣,是就是第一方,否就是第三方。舉個例子:如果你訪問網站www.chinawebanalytics.cn的時候,網站在你的電腦上設置了一個Cookie,裏面的記錄的域名也是www.chinawebanalytics.cn,那麼這個Cookie就是第一方的,歸你訪問的網站www.chinawebanalytics.cn所有。而如果你訪問網站www.chinawebanalytics.cn時,在你的計算機中設置的Cookie的域名是www.abc.com,那麼這個Cookie就是第三方Cookie,歸www.abc.com所有。

第一方Cookie並不一定需要由某個網站自己的服務器給自己建立,別的網站也能爲它建立;而且,第一方Cookie也不一定是能由某個網站自己讀取的,它完全可能由第三方讀取。(以上內容和例子來自於捍衛Cookie——沒有Cookie,我們什麼都沒有了


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章