解决百度统计无法获取https来源的referrer
百度浏览器抢票专版 时间:2021-02-28 阅读:(
)
我们都知道,当我们的页面请求一个js文件、一个cs文件或者点击到其他页面,浏览器一般都会给这些请求头加上表示来源的Referrer字段.
Referrer在分析用户的来源时非常有用,比如大家熟悉的百度统计里面就利用到Referrer信息了.
但是遗憾的是,目前百度统计仅仅支持来源于http页面的referrer头信息;也就是说,如果你网站是http的,那么百度统计只能统计到从其他http页面进入到你网站的referrer,而如果是从https页面进入到你的网站,百度统计目前是无法统计到.
在介绍解决办法之前,我们先来了解ReferrerPolicies.
ReferrerPolicies如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop目前存在九种ReferrerPolicies,包括:空字符串、no-referrer,no-referrer-when-downgrade,same-origin,origin,strict-origin,origin-when-cross-origin,strict-origin-when-cross-origin以及unsafe-url:enumReferrerPolicy{"","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin",1/5"unsafe-url"};我们这对每种ReferrerPolicies进行介绍.
空字符串空字符串表示没有referrer策略.
比如我们有一个HTML标签元素,而且并没有声明任何的ReferrerPolicies,这时候的ReferrerPolicies就是空字符串.
默认的空字符串ReferrerPolicies就等同于no-referrer-when-downgrade.
no-referrer最简单的ReferrerPolicies就是no-referrer;这种ReferrerPolicies会导致所有的请求都不带referrer信息.
比如如果https://www.
iteblog.
com/archives/1929页面将ReferrerPolicies设置成no-referrer,那么从这个页面转到https://www.
iteblog.
com/(或者其他任何页面)都不会发送Referer头信息.
no-referrer-when-downgrade这种策略在从受TLS保护的URL跳转到任何潜在可信的URL以及从不受TLS保护的URL(比如HTTP)跳转到任何URL都会发送完整的URLReferrer信息.
但是如果从受TLS保护的URL(比如HTTPS)跳转不受信任的URL(比如HTTP),那么Referrer头将不会带任何的信息.
这是大多数浏览器默认的ReferrerPolicies.
比如:假设https://www.
iteblog.
com/archives/1929页面的ReferrerPolicies设置成no-referrer-when-downgrade,那么从这个页面跳转到任何的https页面将会带上值为https://www.
iteblog.
com/archives/1929的Referer头信息;但是如果从那个页面跳转到任何HTTP页面,将不会带上任何的Referer头信息.
这就是为什么百度统计无法获取到从HTTPS跳转到HTTP的信息.
same-origin对于同源的链接,会发送referrer,其他的不会.
同源意味着域名需要相同,iteblog.
com和idea.
iteblog.
com是非同源的.
origin2/5这种ReferrerPolicies对于任何资源(包括可信和不可信)来说只发送网站的根域名,不发送完整的url.
比如:https://www.
iteblog.
com/archives/1929页面的ReferrerPolicies设置成origin,那么从这个页面跳转到任何网站将会带上值为https://www.
iteblog.
com/的Referer头信息.
strict-origin我们可以把他看做是origin和no-referrer-when-downgrade的结合体.
也就是说,如果从受TLS保护的URL跳转到任何潜在可信的URL以及从不受TLS保护的URL(比如HTTP)跳转到任何URL都会发送根域名的Referrer头信息.
但是如果从受TLS保护的URL(比如HTTPS)跳转不受信任的URL(比如HTTP),那么Referrer头将不会带任何的信息.
比如https://www.
iteblog.
com/archives/1929页面的ReferrerPolicies设置成strict-origin,那么从它跳转到https://xxx.
iteblog.
com将会带上值为https://www.
iteblog.
com/的Referer头信息;如果从那个页面跳转到http://idea.
iteblog.
com将不会带上任何的Referer头信息.
再比如:http://idea.
iteblog.
com页面的ReferrerPolicies设置成strict-origin,那么从这个页面跳转到http://books.
iteblog.
com或者https://www.
iteblog.
com/archives/1929将会带上值为http://idea.
iteblog.
com/的Referer头信息.
不过目前这种ReferrerPolicies浏览器可能不支持.
origin-when-cross-origin该策略在同源的链接中发送完整的URL,其他情况仅发送根域名.
需要注意的是https://www.
iteblog.
com和被认为是非同源的.
比如https://www.
iteblog.
com/archives/1929页面的ReferrerPolicies设置成origin-when-cross-origin,那么从它跳转到https://www.
iteblog.
com/archives/1464将会带上值为https://www.
iteblog.
com/archives/1929的Referer头信息;如果从那个页面跳转到http://idea.
iteblog.
com/页面(注意这里HTTP和HTTPS页面都可以),将会带上值为https://www.
iteblog.
com/的Referer头信息.
不过这种ReferrerPolicies在Chrome实现的时候被误写成了origin-when-crossorigin.
strict-origin-when-cross-origin这种策略可以看做是origin-when-cross-origin和no-referrer-when-downgrade的结合体.
对于同源请求,发送完整的URL;对于同为https的页面,或者是从HTTP页面跳转到任何的页面(包括HTTP和HTTPS)只发送根域名;如果是从https页面跳转到http将不发送referrer.
Ifadocumentathttps://example.
com/page.
htmlsetsapolicyof"strict-origin-when-cross-origin",thennavigationstohttps://example.
com/not-page.
htmlwouldsenda3/5Refererheaderwithavalueofhttps://example.
com/page.
html.
Navigationsfromthatsamepagetohttps://not.
example.
com/wouldsendaRefererheaderwithavalueofhttps://example.
com/.
Navigationsfromthatsamepagetohttp://not.
example.
com/wouldsendnoRefererheader.
unsafe-url无论是否发生协议降级(HTTPS到HTTP),无论是本站链接还是站外链接,统统都发送Referrer信息.
这是最宽松而最不安全的策略;比如:https://www.
iteblog.
com/archives/1929页面的ReferrerPolicies设置成unsafe-url,那么从它跳转到http://idea.
iteblog.
com/页面(注意这里HTTP和HTTPS页面都可以),将会带上值为https://www.
iteblog.
com/archives/1929的Referer头信息.
如何设置页面是设置ReferrerPolicies主要有以下几种CSP响应头CSP(ContentSecurityPolicy),是一个跟页面内容安全有关的规范.
在HTTP中通过响应头中的Content-Security-Policy字段来告诉浏览器当前页面要使用何种CSP策略.
:Content-Security-Policy:referrer我们还可以在里面设置:标签通过标签也可以指定Referrer策略,同样很简单:4/5我们把放在.
.
.
之间.
注意,如果出现的位置不对会被忽略.
同样,如果没有给它定义content属性,或者content属性为空,也会被忽略.
如果content属性不是合法的取值,浏览器会自动选择no-referrer这种最严格的策略.
标签的referrer属性通过给标签增加referrer属性也可以指定Referrer策略,格式如下:过往记忆这种方式作用的只是这一个链接.
并且,标签可用的Referrer策略只有三种:no-referrer、origin以及unsafe-url.
另外,这样针对单个链接设置的策略优先级比CSP和要高.
解决百度统计无法获取https页的referrer说到这里,如果我们想让百度统计能够统计到来源HTTPS的页面,我们有两种方式:(1)、将自己的网站也升级到HTTPS(参考《在Nginx中使用Let'sEncrypt免费证书配置HTTPS》);(2)、让对方网站设置相关的ReferrerPolicies.
本博客文章除特别声明,全部都是原创!
原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载.
本文链接:【】()PoweredbyTCPDF(www.
tcpdf.
org)5/5
PQ.hosting怎么样?PQ.hosting是一家俄罗斯商家,正规公司,主要提供KVM VPS和独立服务器,VPS数据中心有香港HE、俄罗斯莫斯科DataPro、乌克兰VOLIA、拉脱维亚、荷兰Serverius、摩尔多瓦Alexhost、德国等。部分配置有变化,同时开通Paypal付款。香港、乌克兰、德国、斯洛伐克、捷克等为NVMe硬盘。香港为HE线路,三网绕美(不太建议香港)。免费支持wi...
Hostodo近日发布了美国独立日优惠促销活动,主要推送了四款特价优惠便宜的VPS云服务器产品,基于KVM虚拟架构,NVMe阵列,1Gbps带宽,默认分配一个IPv4+/64 IPv6,采用solusvm管理,赠送收费版DirectAdmin授权,服务有效期内均有效,大致约为7折优惠,独立日活动时间不定,活动机型售罄为止,有需要的朋友可以尝试一下。Hostodo怎么样?Hostodo服务器好不好?...
第一、香港服务器机房这里我们可以看到有提供四个大带宽方案,是全向带宽和国际带宽,前者适合除了中国大陆地区的全网地区用户可以用,后者国际带宽适合欧美地区业务。如果我们是需要大陆地区速度CN2优化的,那就需要选择常规的优化带宽方案,参考这里。CPU内存硬盘带宽流量价格选择E3-12308GB240GB SSD50M全向带宽不限999元/月方案选择E3-12308GB240GB SSD100M国际带宽不...
百度浏览器抢票专版为你推荐
查看端口在电脑上怎么查看端口可以发外链的论坛可以发外链的论坛有那些?易pc笔记本电脑好?还是易PC笔记本电脑好?arm开发板开发板是什么?如ARM开发板,DSP开发板等。。它和最终目标板有何区别?手机区号打电话怎么加区号?9flash怎么使用ePSXe啊?硬盘人移动硬盘的优缺点安装迅雷看看播放器怎样安装迅雷看看播放器虚拟专用网拨号网络与虚拟专用网的区别电子商务网站模板电子商务网站模板哪个好?电子商务网站模板免费建站怎么样?
免费linux主机 3322动态域名 堪萨斯服务器 息壤主机 服务器cpu性能排行 新站长网 eq2 seednet 网游服务器 如何安装服务器系统 789电视剧 吉林铁通 外贸空间 镇江高防 美国asp空间 百度新闻源申请 godaddy中文 远程登录 wannacry勒索病毒 大容量存储控制器驱动 更多