这段时间的一个项目中需要记录PV级的用户访问信息,为了让这个功能实现尽量和现在系统代码少耦合,所以采用了在前端页面嵌入js的方案,被记录的信息中有一条就是:被访问页面的来源URL,也即从哪个页面跳转过来的;

HTTP Referer就是用来干这件事的,该值在服务端和客户端都能取到;服务端直接从request中读取,当然不同语言读取的方式不一样;客户端js的读取方式为document.referrer;

关于HTTP Referer使用非常简单,使用场合比较多的是用于页面统计、图片防盗链(可以在apache中进行设置,从非自己domain或空Referer过来的请求一律拒绝)等;但还是有一点值得注意:Referer是不安全的,客户端可以通过设置改变Request中的值,尽量不要用来进行安全验证等方面;下面介绍下默认情况下Referer可能出现为空的场景:

1、页面从Https跳转到Http;应该是处于安全考虑,该点在RFC-2616中有说明;主流浏览器均遵守这个规则,比如IE、FF;但默认情况下Https到Https是会发送Referer的;

2、直接在浏览器中输入目标URL;

3、由于FF提供了很强大的自定义参数设置功能,所以我们可以通过about:config页面修改以下两个选项的默认设置:

network.http.sendRefererHeader (default=2)
设置Referer的发送方式,0为完全不发送,1为只在点击链接时发送,在访问页面中的图像什么的时候不发送,2为始终发送。

network.http.sendSecureXSiteReferrer (default=true)
设置从一个Https访问到另外Https页面的时候是否发送Referer,true为发送,false为不发送。

初识HTTP中的Referer相关推荐

  1. option:contains后面加变量_Python基础篇 -2:初识Python中的变量

    Python学习基础篇 -2 前言:本专栏以Python为主题,并尽可能保持每星期两到三更,直到将Python的基础知识浅析和讲解完毕,同时,有一定基础的同学可以移步 Python实战专栏 . 第二篇 ...

  2. 初识Flutter中的Layer

    初识Flutter中的Layer 开篇 接触Flutter开发一段时间后发现自己对Flutter渲染流程重要的一环Layer的认知比较少,虽然Flutter对Widget的封装非常全面了开发者基本上只 ...

  3. linux 内核 input,初识linux中的input设备

    原标题:初识linux中的input设备 究竟何谓input设备,相信市场上卖宠物小狗的大妈都能一口答出来,你能不知道么?对,就是我们传说中的输入设备.说到输入设备,相信用过电脑的兄弟都不会陌生了,即 ...

  4. TWebbrowser 中设置referer

    使用 TWebbrowser 控件的时候如果设置了referer的值,Web服务器就可以更好的统计http请求的地址.这在广告系统中经常用到. Delphi中是这样设置的 procedure TFor ...

  5. RSocket协议初识-Java中使用(二)

    前言 在RSocket协议初识(一)中我们使用SpringBoot创建了简单的RSocket通讯模型,本篇我们将介绍纯Java使用Demo.本文代码参照官网的rsocket-java/examples ...

  6. 获取referer中的请求参数_Http请求头中的referer

    Referer是 HTTP请求header 的一部分,当浏览器(或者模拟浏览器行为)向web 服务器发送请求的时候,头信息里有包含 Referer.比如我在www.google.com 里有一个www ...

  7. 网站中对referer的应用

    在开发中对一个外链网站做了iframe 然后出现的都是乱码.经过研究过后原来是设置了 <metaname="referrer"content="never" ...

  8. 判断request请求头中的referer实现的防盗链操作

    通俗的来讲,跨站访问资源,被称为盗链.比如某一个商业网站,有很多自主版权的图片,自身展示用于商业目的.而另一个没有版权的网站,希望在自己的网站上面也展示这些图片,直接使用超链接到有版权的网站,这样以来 ...

  9. HTTP请求中的Referer和Referrer Policy

    Referer Referer请求头包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的.服务端一般使用Referer(注:正确英语拼写应该是referrer,由于早期HT ...

最新文章

  1. Ubuntu 查看隐藏的文件
  2. 浏览器输入「xxxxhub」的背后.....
  3. linux libffi 简介 高级语言互调库
  4. Django之路--第一篇
  5. ami编码设计流程图_Openplant智慧电厂BIM设计-很强大(艾三维BIM分享)
  6. echart单击后获取横坐标值_echart 横坐标倾斜
  7. Failed to get response from /vue-cli-version-marker
  8. 新服务器安装和配置zabbix的playbook
  9. 【渝粤教育】电大中专职业生涯规划 (3)作业 题库
  10. 语言坐标度分秒的换算_测量位置度说明
  11. 计算机设备故障类型有哪些,计算机硬件故障有哪些
  12. 【跃迁之路】【429天】程序员高效学习方法论探索系列(实验阶段186-2018.04.10)...
  13. NAT网络映射设置:允许局域网用户访问VMWare内linux的SSH
  14. 安全使用计算机习惯,如何安全使用计算机和互联网
  15. java byte与char互转原理
  16. 实验楼与蓝桥网站合并 FAQ
  17. linux设置r语言环境,R语言 环境设置
  18. python xlwt图表_python自动化办公(3)——Excel一键创建图表
  19. HW - VCN 介绍
  20. 计算机中文核心期刊-概述一二

热门文章

  1. 百度地图根据地理坐标转换经纬度
  2. 端到端的框架DeepInf
  3. JavaScript的学习记录
  4. 【实习日志】SSM用户管理系统搭建+更新
  5. Android10的GPU呈现模式分析在哪?
  6. Pytorch笔记:风格迁移
  7. 头歌Educoder——Java高级特性 - JDBC(上)
  8. DDS、openDDS和fast DDS介绍
  9. 正则表达式字符串匹配和字符串提取
  10. html手机怎么刷机,一键刷机,小编教你手机怎么一键刷机