技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 网络系统 --> 外链点击没有 referrer 信息?!

外链点击没有 referrer 信息?!

浏览:2272次  出处信息

    最近经常盯着访问日志,有一次一边 "tail -f" 日志,一边在 Google Reader 中点击了一下自己的一个日志链接,发现新增的一行日志竟然没有 referrer 信息!

    我的浏览器并没有做任何隐藏 referrer 的特殊配置,所以这事儿我纳闷了好多天―― Google 是怎么做到的?即使可以做到,有什么必要隐藏 referrer 呢?

    今天晚上动用了一大堆工具――Firebug, Fiddler, Eventbug, 研究了半天,我想 Google 一定是在用 JavaScript 完成这样的 trick.

    后来突然想明白了,我的 Google Reader 一直是使用 https 连接的(避免意想不到的 connection reset),这不是 Google 做的,而是浏览器的默认行为。这么做很有必要,保护用户的隐私。把 https 换成 http 再点击,发现请求头中确实加入了 referrer 字段。据我所知,SearchStatus 这个扩展在遇到 https 页面的时候也是不会向外作任何查询的。

    根据我做的山寨测试,IE, Firefox, Opera 都是这么做的,很好。微软还有一篇 support article 说这个事,里面提到:

    many secure (HTTPS) Web servers store secure information such as credit-card data in the URL

    我想现在应该很少有网站这么做了,不过 url 里面还是很容易找到涉及隐私的信息。隐藏 referrer 虽然给做 web analytics 的人带来了干扰,仍然是非常必要的。

    在解除这个困惑的过程中,看到几年前就有人发现在 AdWords 中点击广告链接测试的时候,没有 referrer header,很奇怪,这几年内也没有人给他正确的答案。我刚刚给了他一个 comment,希望可以解惑……

    这大概也可以解释为什么我们看到自己网站统计中没多少从 Google Reader 过来的流量吧(至少我的是这样)――因为大家都得 "s".

建议继续学习:

  1. HTTPS, SPDY和 HTTP/2性能的简单对比    (阅读:15913)
  2. HTTPS的七个误解    (阅读:4396)
  3. HTTPS证书生成原理和部署细节    (阅读:3655)
  4. iOS安全系列之二:HTTPS进阶    (阅读:2658)
  5. iOS安全系列之一:HTTPS    (阅读:1939)
  6. SSLStrip 的未来 —— HTTPS 前端劫持    (阅读:1859)
  7. 在 Django/Flask 开发服务器上使用 HTTPS    (阅读:1782)
  8. 你所不知道的 HSTS    (阅读:1833)
  9. Linux使用curl访问https站点时报错汇总    (阅读:1618)
  10. 三种解密 HTTPS 流量的方法介绍    (阅读:1464)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1