Webtrends的跨域访客跟踪机制
例如有三個域名
Domain1:stg.A.com
Domain2:stg.B.com
SDC服務器域名: sdc.A.com
?
腳本文件都統一引用同一個stg.A.com/sdc.js
?
Cookie說明:
Webtrends跟蹤訪客會用到兩個相關的cookie
1. WEBTRENDS_ID, sdc.A.com域名,用于識別訪客
2.WT-FPC,頁面所在域名,用于記錄是否新訪客,初始訪問時間、上次訪問時間、本次訪問時間等等。
?
新訪客首先訪問stg.A.com時
第一次訪問時,檢測到本地沒有WT-FPC的cookie,就通過請求sdc.A.com/dcsid/wtid.js
生成跟蹤字符串,然后把這個跟蹤字符串寫到WT-FPC的cookie里。
然后sdc.js腳本采集相關數據,并發送到sdc.A.com/dcsid/dcs.gif。
第一次發送這個dcs.gif到服務器時,是沒有沒攜帶WEBTRENDS_ID的跟蹤cookie的,所以SDC服務器在Response?? 里把WEBTRENDS_ID的cookie投遞到本機,域名屬于sdc.A.com,然后redirect這個dcs.gif請求一次,就可以在日志里記錄到跟蹤cookie了。
先后請求有4個
訪問后cookie投遞如下
?
?
?
訪客再次訪問stg.B.com時
先整理下這時電腦有哪些cookie:
1. WEBTRENDS_ID, 屬于sdc.A.com域名的cookie,一直都在;
2.WT-FPC,屬于stg.A.com域名的cookie,記錄的webtrends_id,訪問時間等。
訪客訪問stg.B.com的頁面時,腳本檢查到是沒有屬于當前域名的WT-FPC的cookie的,于是通過請求sdc.A.com/dcsid/wtid.js
生成跟蹤字符串,然后把這個跟蹤字符串寫到WT-FPC的cookie里。
然后sdc.js腳本采集相關數據,并發送到sdc.A.com/dcsid/dcs.gif。
這次瀏覽器已經帶有WEBTRENDS_ID的cookie里,在dcs.gif的請求里一并發送的sdc.A.com的服務器,于是可以識別成同一個人。
先后請求3個
Cookie如下:
?
?
?
大家可能有以下問題:
1. 第一次請求wtid.js和第二次請求wtid.js有什么區別?
第一次請求wtid.js時,瀏覽器還沒有WEBTRENDS_ID的cookie,所以只是根據pc的ip生成一個跟蹤字符串,目的是通過js定義一個gTempWtId的變量。
然后sdc.js腳本可以把這個變量讀出,寫到WT-FPC的cookie里,同時在dcs.gif的請求里增加參數WT.co_f(9版是WT.vtid),所以webtrends配置里可以根據cookie跟蹤,也可以根據url參數WT.co_f跟蹤。
第一次訪問時有一下參數用于識別是第一次
WT.vt_f=1, 說明是歷史上第一次訪問本網站。
?
第二次請求wtid.js時,瀏覽器已經帶有WEBTRENDS_ID的cookie,只是因為訪客訪問的頁面跨域了,所以才找不到WT-FPC的cookie,所以wtid.js返回是這樣的
在返回相同的跟蹤字符串給頁面外,還額外定義gWtAccountRollup=1; 說明訪客已經訪問過網站下的其他域名。然后sdc.js腳本可以把這個變量讀出,寫到WT-FPC的cookie里,同時在dcs.gif的請求里增加參數WT.co_f(9版是WT.vtid),所以webtrends配置里可以根據cookie跟蹤,也可以根據url參數WT.co_f跟蹤。
這時沒有參數WT.vt_f=1,但有參數WT.vt_f_a=1,用于識別整站來說不是新訪客,但對于這個域名是新訪客。
?
總結
以上是生活随笔為你收集整理的Webtrends的跨域访客跟踪机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10虚拟服务器安装xp,win10
- 下一篇: 前端学习(600):使用chorme d