referer的報文頭埂软,用來指明當前流量的來源參考頁

HTTP請求中有一個referer的報文頭锈遥,用來指明當前流量的來源參考頁。例如在www.sina.com.cn/sports/上點擊一個鏈接到達cctv.com首頁勘畔,那么就referrer就是www.sina.com.cn/sports/了所灸。在Javascript中,我們可以通過document.referrer來獲取同樣的信息炫七。通過這個信息爬立,我們就可以知道訪客是從什么渠道來到當前頁面的万哪。這對于Web Analytics來說菜枷,是非常重要的撤卢,這可以告訴我們不同渠道帶來的流量的分布情況相赁,還有用戶搜索的關鍵詞等猎提,都是通過分析這個referrer信息來獲取的只怎。

但是乍桂,出于各種各樣的原因,有時候Javascript中讀到的referrer卻是空字符串睹酌。下面總結一下哪些情況下會丟失referrer权谁。

Referrer丟失的幾個場景

修改Location對象進行頁面導航

Location對象是一個用于頁面導航的非常實用的對象。因為他允許你只變更Url的其中一部分憋沿。例如從cn域名切換到com域名旺芽,其他部分不變:

window.location.hostname =?"example.com";

但是,通過修改Location進行頁面導航的方法运嗜,會導致在IE下丟失Referrer悯舟。

IE5.5+ 下返回空字符串

Chrome3.0+,F(xiàn)irefox3.5抵怎,Opera9.6,Safari3.2.2均正常返回來源網(wǎng)頁

window.open方式打開新窗口

示例:

<a href="#"?onclick="window.open('http://www.google.com')">訪問Google</a>

點擊此鏈接會在新窗口打開Google網(wǎng)站反惕,我們在地址欄中輸入以下js代碼就可以看到發(fā)送的referrer了承璃。

javascript:alert(document.referrer)

測試結果:

IE5.5+ 下返回空字符串

Chrome3.0+,F(xiàn)irefox3.5盔粹,Opera9.6,Safari3.2.2均正常返回來源網(wǎng)頁

如果是同個域名下通過此方式跳轉(zhuǎn)的轴猎,那么我們可以通過訪問windoww.opener對象去獲取丟失的referrer信息。代碼如下:

<script type="text/javascript">

????var?referrer = document.referrer;

????if?(!referrer) {

????????try?{

????????????if?(window.opener) {

????????????????// IE下如果跨域則拋出權限異常

????????????????// Safari和Chrome下window.opener.location沒有任何屬性

????????????????referrer = window.opener.location.href;

????????????}

????????}

????????catch?(e) {}

????}

</script>

跨域的話則沒轍了~

鼠標拖拽打開新窗口

鼠標拖拽是現(xiàn)在非常流行的用戶習慣捻脖,很多瀏覽器都內(nèi)置或者可以通過插件的方式來支持鼠標拖拽式瀏覽中鼠。但是通過這種方式打開的頁面,基本全都丟失referrer矛渴。并且惫搏,這種情況下具温,也無法使用window.opener的方式去獲取丟失的referrer了筐赔。

已測試:

Maxthon2.5.2,F(xiàn)irefox的FireGesture插件达皿,Chrome3.0+,Opera9.6峦椰,Safari3.2。

點擊Flash內(nèi)部鏈接

點擊Flash上到達另外一個網(wǎng)站的時候萄焦,Referrer的情況就比較雜亂了冤竹。

IE下,通過客戶端Javascript的document.referrer讀取到的值是空的鹦蠕,但是如果你使用流量監(jiān)控軟件看一下的話,你會發(fā)現(xiàn)萧恕,實際上HTTP請求中的Referer報文頭卻是有值的肠阱,這可能是IE實現(xiàn)的Bug。同時屹徘,這個值指向的是Flash文件的地址,而不是來源網(wǎng)頁的地址簿煌。

Chrome4.0下點擊Flash到達新窗口之后鉴吹,Referrer也是指向的Flash文件的地址,而不是源網(wǎng)頁的地址豆励。

Chrome3.0和Safari3.2是一樣的,都是會丟失Referrer信息般堆。

Opera則和Firefox一樣诚啃,Referrer的值都是來源網(wǎng)頁的地址私沮。

HTTPS跳轉(zhuǎn)到HTTP

從HTTPS的網(wǎng)站跳轉(zhuǎn)到HTTP的網(wǎng)站時,瀏覽器是不會發(fā)送referrer的。這個各大瀏覽器的行為是一樣的魔招。

例如五辽,我們在HTTPS下使用Google Reader或是Gmail的時候,點擊某個鏈接去到另外一個網(wǎng)站乡翅,那么從技術上來說,這樣的訪問和用戶直接鍵入網(wǎng)址訪問是沒有什么分別的蠕蚜。

Referrer丟失對于廣告流量監(jiān)控的影響

Referrer如果丟失悔橄,Web Analytics就會丟掉很重要的一部分信息了,特別對于廣告流量來說挣柬,就無法知道實際來源了睛挚。目前國內(nèi)好多用了Google Adsense廣告的網(wǎng)站,都使用了window.open的方式來打開廣告鏈接竞川,因此IE下會丟失Referrer,而我們知道床牧,IE是目前市場份額最大的瀏覽器遭贸,因此其影響是很大的。很多流量統(tǒng)計工具會因此將這部分流量歸入“直接流量”壕吹,和用戶直接鍵入網(wǎng)址等價了。

對于這樣的情況踏堡,需要讓廣告投放者在投放廣告的時候咒劲,給著陸頁面的Url加上特定的跟蹤參數(shù)诫隅。

例如帐偎,某個Flash廣告,點擊之后到達的網(wǎng)址是http://www.example.com/豁生,為了監(jiān)控此流量是從哪個渠道過來的漫贞,我們可以修改此投放的著陸Url沛硅,改成http://www.example.com/?src=sina绕辖,類似這種方式仪际,然后在著陸頁面中使用Javascript代碼提取此src參數(shù),這樣就可以得到廣告來源信息树碱。

在投放Google Adwords的時候,后臺系統(tǒng)有一個“自動標記”的選項框舔,當啟用此選項的時候赎婚,Google在生成所有廣告的著陸頁面Url的時候,就會自動加上一個gclid的參數(shù)挣输,這個參數(shù)能夠?qū)oogle Analytics后臺和Adwords廣告后臺的數(shù)據(jù)進行整合。這樣就可以知道廣告流量對應于哪個廣告系列停士,哪個廣告來源和廣告關鍵詞等信息了完丽。和上面提到的思路其實是類似的。只不過Google自動幫你做了Url的修改了而已逻族。

如果你發(fā)現(xiàn)了其他丟失Referrer的情況瓷耙,或是你有其他解決方案,歡迎和我交流~

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末长搀,一起剝皮案震驚了整個濱河市鸡典,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌彻况,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件良蛮,死亡現(xiàn)場離奇詭異决瞳,居然都是意外死亡左权,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門屡贺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锌杀,“玉大人,你說我怎么就攤上這事糕再。” “怎么了亿鲜?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長饶套。 經(jīng)常有香客問我垒探,道長,這世上最難降的妖魔是什么圾叼? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮构挤,結果婚禮上,老公的妹妹穿的比我還像新娘唐础。我一直安慰自己矾飞,他們只是感情好,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布豹绪。 她就那樣靜靜地躺著申眼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪豺型。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天钓辆,我揣著相機與錄音肴焊,去河邊找鬼。 笑死娶眷,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的烁落。 我是一名探鬼主播豌注,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼轧铁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起绑洛,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤童本,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后巾陕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纪他,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡茶袒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了亡资。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片向叉。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖瘦黑,靈堂內(nèi)的尸體忽然破棺而出奇唤,到底是詐尸還是另有隱情,我是刑警寧澤咬扇,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布懈贺,位于F島的核電站,受9級特大地震影響梭灿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜胎源,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一涕蚤、第九天 我趴在偏房一處隱蔽的房頂上張望的诵。 院中可真熱鬧佑钾,春花似錦、人聲如沸休溶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽孽尽。三九已至,卻和暖如春杉女,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背速勇。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工坎拐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人廉白。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓猴蹂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親磅轻。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容