用戶追蹤之基礎(chǔ)技術(shù)——Cookie
前言
Cookie是如此的重要,以至于我們后面要講到的回頭客定向、訪客頻次定向、用戶定向等等都需要基于此技術(shù)才可以實現(xiàn),并且我們?nèi)粘9ぷ髦兴芤姷降牡谌奖O(jiān)測工具如doubleclick、99click、秒針等也都要利用cookie技術(shù),網(wǎng)站分析工具如GA、百度統(tǒng)計、CNZZ等也需要利用cookie。如果沒有Cookie,互聯(lián)網(wǎng)廣告市場將受到巨大打擊,尤其對于目前我們談?wù)摰木珳?zhǔn)廣告而言。如果沒有Cookie,網(wǎng)站分析也無從做起。遑論優(yōu)化了。
Cookie是什么
Cookie在英文中是小甜品的意思,但在計算機語言中,Cookie指的是當(dāng)你瀏覽某網(wǎng)站時,網(wǎng)站存儲在你電腦上的一個小文本文件,伴隨著用戶請求和頁面在 Web 服務(wù)器和瀏覽器之間傳遞。它記錄了你的用戶ID,密碼、瀏覽過的網(wǎng)頁、停留的時間等信息,用于用戶身份的辨別。Cookie通常是以user@domain格式命名的,user是你的本地用戶名,domain是所訪問的網(wǎng)站的域名。
為什么要Cookie
因為HTTP協(xié)議是無狀態(tài)的,對于一個瀏覽器發(fā)出的請求,服務(wù)器無法區(qū)分是不是同一個來源,無法知道上一次用戶做了什么。所以,需要額外的數(shù)據(jù)用于維護會話。 Cookie 正是這樣的一段隨HTTP請求一起被傳遞的額外數(shù)據(jù),用于維護瀏覽器和服務(wù)器的會話。我們可以想象一個場景,你沒有登錄京東時在京東上購物,選擇了3件商品放入購物車,在結(jié)算時,京東為什么還能知道這三件商品是什么?沒錯,是Cookie!
Cookie的工作原理
Cookie利用網(wǎng)頁代碼中的HTTP頭信息,伴隨著用戶請求和頁面在 Web 服務(wù)器和瀏覽器之間傳遞。例如:當(dāng)你在瀏覽器地址欄中鍵入了Amazon的URL,瀏覽器會向Amazon發(fā)送一個讀取網(wǎng)頁的請求,并將結(jié)果在顯示器上顯示。在發(fā)送之前,該網(wǎng)頁在你的電腦上尋找Amazon網(wǎng)站設(shè)置的Cookie文件,如果找到,瀏覽器會把Cookie文件中的數(shù)據(jù)連同前面輸入的URL一同發(fā)送到Amazon服務(wù)器。服務(wù)器收到Cookie數(shù)據(jù),就會在他的數(shù)據(jù)庫中檢索你的ID,你的購物記錄、個人喜好等信息,并記錄下新的內(nèi)容,增加到數(shù)據(jù)庫和Cookie文件中去。如果沒有檢測到Cookie或者你的Cookie信息與數(shù)據(jù)庫中的信息不符合,則說明你是***次瀏覽該網(wǎng)站,服務(wù)器的CGI程序?qū)槟銊?chuàng)建新的ID信息,并保存到數(shù)據(jù)庫中。(此例子來源于百度百科——Cookie)
關(guān)于Cookie的一些知識點
1、Cookie是基于瀏覽器的,因此當(dāng)電腦上安裝多個瀏覽器時,服務(wù)器會生成多個Cookie。雖然是同一個人,但服務(wù)器是識別為多個用戶。
2、Cookie是基于瀏覽器的,因此當(dāng)同一臺電腦有多個人使用時,服務(wù)器也只會生成一個Cookie。雖然是多個人,但服務(wù)器會認為是一個用戶。
3、Cookie是無法跨設(shè)備進行設(shè)置的。比如我們在單位和家里分別使用兩臺電腦,即使我們使用同一種同一版本的瀏覽器,我們還是生成了兩個Cookie,服務(wù)器會認為是兩個用戶。(PS:現(xiàn)在有些瀏覽器可以同步數(shù)據(jù),比如Chrome、Friefox,可以避免這種問題)
請注意:以上所說的Cooke指的全部是Http Cookie。有一種Cookie——Flash Cookie,可以解決多瀏覽器的問題。
關(guān)于Flash Cookie
FlashCookie是由FlashPlayer控制的客戶端共享存儲技術(shù),鑒于目前Flash技術(shù)的普遍性,幾乎所有的網(wǎng)站都采用,所以具有同Http Cookie一樣的作用。在技術(shù)上,通過使用JavaScript與ActionScript可以將Http Cookie和Flash Cookie進行互通。
Flash cookie的優(yōu)勢在于:
1、跨瀏覽器
不管用戶的計算機上安裝了多少個瀏覽器或者瀏覽器的不同版本,使用Flash Cookie能夠使所有的瀏覽器共用一個Cookie。
2、不易刪除
所有的瀏覽器均提供了清除Http Cookie的快捷方式,但Flash Cookie并沒有此種方式,并且其保存位置非常隱蔽,網(wǎng)民難以刪除。
3、容量更大
Flash Cookie可以容納最多100千字節(jié)的數(shù)據(jù),而一個標(biāo)準(zhǔn)的HTTP Cookie只有4千字節(jié)。
作為網(wǎng)絡(luò)廣告行業(yè)的銷售人員,了解以上知識就已經(jīng)綽綽有余了。如果想了解更多,可以接著往下看。
Cookie的數(shù)量
1、大多數(shù)瀏覽器支持***為 4096 字節(jié)的 Cookie。因此***用 Cookie 來存儲用戶 ID 之類的標(biāo)識符,用戶的詳細信息則通過用戶 ID從數(shù)據(jù)庫或其他數(shù)據(jù)源中讀取。
2、瀏覽器還限制站點可以在用戶計算機上存儲的 Cookie 的數(shù)量。大多數(shù)瀏覽器只允許每個站點存儲 20 個 Cookie;當(dāng)存儲更多 Cookie時,最舊的 Cookie 便會被丟棄。有些瀏覽器還會對它們將接受的來自所有站點的 Cookie 總數(shù)作出絕對限制,通常為 300 個。
Cookie的失效時間
1、瀏覽器的Cookie設(shè)置會決定是否保存Cookie數(shù)據(jù)。如果瀏覽器不允許Cookie保存,則關(guān)掉瀏覽器后,這些數(shù)據(jù)就消失。
2、如果瀏覽器允許保存Cookie,那么Cookie的時間由服務(wù)器的設(shè)置決定。Cookie有一個Expires(有效期)屬性,這個屬性決定了Cookie的保存時間,服務(wù)器可以通過設(shè)定Expires字段的數(shù)值,來改變Cookie的保存時間。如果不設(shè)置該屬性,那么Cookie只在瀏覽網(wǎng)頁期間有效,關(guān)閉瀏覽器,這些Cookie自動消失,絕大多數(shù)網(wǎng)站屬于這種情況。通常情況下,Cookie包含Server、Expires、Name、value這幾個字段,其中對服務(wù)器有用的只是Name和value字段,Expires等字段的內(nèi)容僅僅是為了告訴瀏覽器如何處理這些Cookies。
Cookie的樣例
1、Cookie的名稱
2、Cookie的內(nèi)容
3、從頁面代碼監(jiān)測工具看Cookie
Cookie的位置
1、Http Cookie的位置
Windows 9X系統(tǒng) C:WindowsCookies
Windows NT/2000/XP系統(tǒng) C:Documents and Settings用戶名Cookies
win7系統(tǒng) ?C:Users*AppDataRoamingMicrosoftWindowsCookies*
OS X系統(tǒng) ~/Users/用戶名/Library/Cookies
2、Flash Cookie的位置
非Win7系統(tǒng)
C:Documents and Settings[username你的用戶名]Application DataMacromediaFlash Player#SharedObjects
Win7
C:Users[username你的用戶名]Application DataMacromediaFlash Player
其中:Users可能顯示為“用戶”
OS X系統(tǒng)
~/Users/用戶名/Library/Preferences/Macromedia/Flash Player/#SharedObjects
~/Users/用戶名/Library/Preferences/Macromedia/Flash Player/macromedia.com/support/flashplayer/sys/
***方Cookie和第三方Cookie
大多數(shù)的第三方監(jiān)測工具和網(wǎng)站分析工具都會采用第三方Cookie。所謂***方和第三方的說法,是用來確定Cookie的歸屬的,這個歸屬是指Cookie中記錄的域(domain)。***方和第三方的唯一區(qū)別只是:Cookie中的域名是否和被訪問網(wǎng)站的域一樣,是就是***方,否就是第三方。舉個例子:如果你訪問網(wǎng)站www.chinawebanalytics.cn的時候,網(wǎng)站在你的電腦上設(shè)置了一個Cookie,里面的記錄的域名也是www.chinawebanalytics.cn,那么這個Cookie就是***方的,歸你訪問的網(wǎng)站www.chinawebanalytics.cn所有。而如果你訪問網(wǎng)站www.chinawebanalytics.cn時,在你的計算機中設(shè)置的Cookie的域名是www.abc.com,那么這個Cookie就是第三方Cookie,歸www.abc.com所有。
所以,***方Cookie并不一定需要由某個網(wǎng)站自己的服務(wù)器給自己建立,別的網(wǎng)站也能為它建立;而且,***方Cookie也不一定是能由某個網(wǎng)站自己讀取的,它完全可能由第三方讀取。