CNZZ站點流量統計原理簡析


這是我的域名www.iyizhan.com。暫無內容,當中僅僅有一個頁面index.html。
在index.html上放置了例如以下的 js 腳本:
<script 
src="http://s11.cnzz.com/stat.php?id=5364825&web_id=5364825" 
language="JavaScript">
</script>


1.當用戶訪問這個頁面時,會請求src,相應的是上面的腳本的源文件:
Request URL:http://s11.cnzz.com/stat.php?id=5364825&web_id=5364825
請求的query:
id:5364825 //站點id
web_id:5364825 //站點id
腳本會對當中的參數賦值,當中this.q = "CNZZDATA" + this.c為cookie名 
cnzz.js中的函數L會為生成一個我的站點域下的cookie,即
名稱: CNZZDATA5364825
內容: CNZZDATA5364825=cnzz_eid%3D2115650326-1406861325-%26ntime%3D1406869345
//CNZZDATA5364825=cnzz_eid=2115650326-1406861325-&ntime=1406869345
域: www.iyizhan.com
當中的ntime會隨着訪問而更新。
//上面的cookie值表示的不過三個時間值。


並觸發例如以下的鏈接請求:


2.Request URL:
http://hzs14.cnzz.com/stat.htm?id=5364825&r=&lg=zh-cn&ntime=1406861325&cnzz_eid=124331323-1406861325-&showp=1280x800&t=zhaohf-CNZ...&h=1&rnd=1196942655
(這個請求一個1x1的不可見像素,當中的參數代表不同的含義)
id:5364825 //站點id
r:weibo.com //refer,來源。
lg:zh-cn //頁面語言
ntime:1406861325 //now time請求時的時間戳
cnzz_eid:124331323-1406861325- //一個隨機數(過期時間)-首次訪問時間,差即cookie的生命周期
showp:1280x800 //頁面(屏幕)大小
t:zhaohf-CNZ...//頁面的title
h:1 //?
rnd:1196942655 //random,一個隨機數,目的是每次訪問都要請求


請求頭中例如以下:
Accept:image/webp,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:zh-CN,zh;q=0.8
Cookie:
cna=YuVcDKp/IhQCAXL/FAmu3PJk; 
PHPSESSID=7e0dc5ea1b0fa3b5357f0b46cb4245d5; 
lzstat_uv=22071519872809337448|3037573; 
UC_SID=e3a977d0ecd733fb2adb54b5a3cfc3ae; 
TJ_LG=cnzz; 
Host:hzs14.cnzz.com
Proxy-Connection:keep-alive
Referer:http://www.iyizhan.com/
User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36


3.Request URL:http://c.cnzz.com/core.php?

web_id=5364825&t=z
這相應的是一個js腳本。


4.Request URL:http://cnzz.mmstat.com/9.gif?

abc=1&rnd=659454759

server寫入cookie:
Set-Cookie:aui=137828086; expires=Mon, 29-Jul-24 03:49:34 GMT; path=/; domain=.cnzz.mmstat.com
Set-Cookie:atpsida=69e4ef05fb4ee7ea895ac82a_1406864974; expires=Mon, 29-Jul-24 03:49:34 GMT; path=/; domain=.cnzz.mmstat.com


5.Request URL:http://pcookie.cnzz.com/app.gif?

&cna=YuVcDKp/IhQCAXL/FAmu3PJk
請求還有一張圖片,當中的參數
cna=YuVcDKp/IhQCAXL/FAmu3PJk
是上一步生成的cookie
回傳給server
返回的是在cnzz.com下的cookie:
Set-Cookie:cna=YuVcDKp/IhQCAXL/FAmu3PJk; expires=Mon, 29-Jul-24 03:49:34 GMT; path=/; domain=.cnzz.com


------------------------------------------------------------------


由上可見。用戶第一次訪問站點時,會向cnzz發例如以下的5個請求(例如以下圖):
1.請求第一個 js 腳本(我命名為cnzz.js)
2.上一步的 js 在用戶端瀏覽器上運行,向cnzz請求一個html文件。
當中的內容僅僅有1x1不可見像素。作用是發送parameter數據
3.請求第二個 js 腳本(我命名為core.js)
4.此腳本在用戶的瀏覽器運行后會觸發一個新的請求,向cnzz.mmstat.com請求一個1x1圖片。
目的是server端生成cookie返回給瀏覽器
5.瀏覽器得到cookie之后將cookie發送給pcookie.cnzz.com。這個應該是專門處理cookie的server

。然后把新的cookie設置到cnzz.com域上。並返回給用戶瀏覽器


------------------------------------------------------------------
以上是用戶首次與CNZZ交互的所有過程。


之后訪問的話,就僅僅有前3個請求(例如以下圖),即請求cnzz.stat.php,stat.html,core.php
並在cookie中帶有 cna=YuVcDKp/IhQCAXL/FAmu3PJk,用來推斷有幾個Unique Visitor.


沒有接着發請求是由於:返回的第二個js文件里的
"0" === m && k.callRequest([l + "//cnzz.mmstat.com/9.gif?

abc=1"])
能夠發現反復訪問的時候,返回的m = "1",即不會運行這個請求。
------------------------------------------------------------------
//注:點擊【站長統計】就可以看到統計結果,只是基本為0。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM