Referer请求头
本文分享自微信公众号 - code秘密花园(code_mmhy),作者:ConardLi
原文出处及转载信息见文内详细说明,如有侵权,请联系 1278556902@qq.com 删除。
原始发表时间:2020-11-17
文章目录
- 前言
- Referer 标头
- Referer-Policy
- Referer-Policy 默认值
- 变化
- 不变的
前言
如果你的站点有使用 Referer 标头收集网页的访问来源信息,则此策略变化可能对你的程序造成影响,请仔细阅读。
在开始阅读本文之前,如果你不理解 site
和 origin
之间的关系,请阅读:同站和同源你理解清楚了么?
Referer 标头
Referer
请求头包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。
服务端一般使用 Referer
请求头识别访问来源,可能会以此进行统计分析、日志记录以及缓存优化等。
这里有意思的一点:referer 实际上是 “referrer” 误拼写。Referrer-Policy 标头以及 JavaScript 中的 referrer 拼写是没有问题的。
Referer-Policy
Referer
请求头可能暴露用户的浏览历史,涉及到用户的隐私问题。所以 HTTP 提供了 Referrer-Policy
标头,其用来监管和限制哪些访问来源信息会在 Referer
中发送(应该被包含在生成的请求当中)。
Referer-Policy
包括以下几个可选项
- no-referrer
整个 Referer
首部会被移除。访问来源信息不随着请求一起发送。
- no-referrer-when-downgrade (默认值)
在同等安全级别的情况下,引用页面的地址会被发送(HTTPS->HTTPS)
,但是在降级的情况下不会被发送 (HTTPS->HTTP)
。
- origin
在任何情况下,仅发送文件的源作为引用地址。例如https://example.com/page.html
会将 https://example.com/
作为引用地址。
- origin-when-cross-origin
对于同源的请求,会发送完整的URL作为引用地址,但是对于非同源请求仅发送文件的源。
- same-origin
对于同源的请求会发送引用地址,但是对于非同源请求则不发送引用地址信息。
- strict-origin
在同等安全级别的情况下,发送文件的源作为引用地址(HTTPS->HTTPS)
,但是在降级的情况下不会发送 (HTTPS->HTTP)
。
- strict-origin-when-cross-origin
对于同源的请求,会发送完整的URL作为引用地址;在同等安全级别的情况下,发送文件的源作为引用地址(HTTPS->HTTPS)
;在降级的情况下不发送此首部 (HTTPS->HTTP)
。
- unsafe-url
无论是同源请求还是非同源请求,都发送完整的 URL(移除参数信息之后)作为引用地址。
Referer-Policy 默认值
如果 Referer-Policy
未设置任何策略,则使用浏览器的默认值。网站通常会遵循浏览器的默认设置。
对于导航和 iframe, Referer
头中的数据也可以通过 JavaScript 使用 document.referrer
访问。
no-referrer-when-downgrade
是跨浏览器的一种广泛的默认策略。但是现在,许多浏览器正处于向更多提高隐私的默认设置过渡的阶段。
Chrome 计划在85版开始 将其切换默认策略 no-referrer-when-downgrade
更换到strict-origin-when-cross-origin
。
变化
strict-origin-when-cross-origin
提供更多的隐私。有了这个政策,Referer 标头只会发送 origin
这样可以防止泄漏私人数据,这些数据可以从完整URL的其他部分(例如路径和查询字符串)访问。
例如,在一个跨域请求中:
从https://site-one.example/stuff/detail?tag=red
访问https://site-two.example/…
使用 no-referrer-when-downgrade
: Referer: https://site-one.example/stuff/detail?tag=red
。
使用 strict-origin-when-cross-origin
: Referer: https://site-one.example/
。
不变的
和 no-referrer-when-downgrade
一样,strict-origin-when-cross-origin
在从 HTTPS 来源访问 HTTP 站点时,不会携带Referer
头。
在相同的来源内,Referer
标头值为完整的 URL 。
Referer请求头相关推荐
- JavaScript 能否修改 Referer 请求头
正如题目,本文主题也很直白,主要就是围绕这个问题展开.JavaScript 能否修改 Referer 请求头?现在 JavaScript 的能力越来越强大,JavaScript 似乎无所不能,修改一个 ...
- 获取referer中的请求参数_javaweb之request获取referer请求头实现防盗链
在开发web程序的时候,有时我们需要得到用户是从什么页面连过来的,这就用到了referer. 它是http协议,所以任何能开发web程序的语言都可以实现,比如jsp中是: request.getHea ...
- Qt实践| HTTP知识点-Qt填充referer请求头盗取图片
目录 基本概念 代码与实例 基本概念 HTTP协议头中的Referer主要是用来让服务器判断来源页面,即用户是从那个页面来的.网站通常用其来统计用户来源,看用户是从搜索页面来的,还是从其他网站链接来的 ...
- 利用Referer请求头防止“盗链”
一.介绍 在实际开发中,经常会使用Referer头字段,例如,一些站点为了吸引人气并且提高站点访问量,提供了各种软件的下载页面,但是它们本身没有这些资源,只是将下载的超链接指向其它站点上的资源.而真正 ...
- Request Headers 和Response Headers——请求头和响应头
前沿 作为一个前端开发工程师看不懂每条请求的请求头和响应头,实在是一件很难受的事情.最近花了一些时间整理了一篇文档,一起来看看前后端交互时每个资源的信息. 谷歌浏览器调试工具--查看请求资源的信息数据 ...
- HTTP请求头和响应头
请求头 Accept:浏览器可接受的MIME类型. 就是希望服务器返回什么类型的数据,比如application/json,text/html,image/png,*/* Accept:applica ...
- http请求头中Referer的含义和作用
http请求头中Referer的含义和作用 别人写好了,链接过去看看吧,出门左转. 记得房号不迷路 02房 01房 三人行必有我师焉,其实两人行也有我师焉--
- 解密http请求头的Host,Referer,Origin背后的含义:
Host:指定请求服务器的域名/IP地址和端口号. 作用: 同一台机器上,可能部署多个服务,通过解析host+端口,指定具体访问的站点. host的要点: HTTP/1.0不带host,HTTP/1. ...
- http请求头origin、referer和host区别
1. Host 描述请求将被发送的目的地,包括且仅仅包括域名和端口号. HTTP/1.1 的所有请求报文中必须包含一个Host头字段,且只能设置一个. 2. Origin 请求头origin表明了请求 ...
最新文章
- 浅析对象访问属性的.和[]方法区别
- 迪拜宣布亿航“无人机的士”计划,将于7月份正式运营
- linux下signal()函数超详细介绍
- java se 定时任务_Java实现定时任务的三种方法
- linux不重启换root密码是什么原因,在Linux下修改和重置root密码的方法(超简单)
- 有关linux用户和用户组管理的知识详解
- mysql的utf8与utf8mb4 异同;utf8mb4_unicode_ci 与 utf8mb4_general_ci 如何选择
- amap vueamap 与_vue 使用高德地图vue-amap组件过程解析
- 基于多源数据画像的失败用例智能分析
- STM32 输入捕获功能
- c51随机数不重复_C++中随机数和不重复的随机数
- python画50个图-Python绘制六种可视化图表详解,三维图最炫酷!你觉得呢?
- 一个很好的弹出层插件nyroModal
- 如何删除数据库中的冗余数据
- 阿里免费网盘teambition使用初体验
- Axure RP9 轮播图交互
- 基于javaweb的简单员工管理系统
- html照片编辑,照片编辑器「Photo Editor」
- 华为手机使用应用沙盒动态修改cpu数据
- ESP8266_19MQTT协议接入ONENET平台_订阅主题
热门文章
- Math数据类型的方法集合
- 100盏灯开关的问题
- 数据挖掘|关联规则Apriori算法详解及其在中医医案中的应用
- python zip_longest和zip的比较
- 为什么王者荣耀总是服务器中断,王者荣耀有史以来游戏时间最长的对局!服务器多次崩溃!破纪录!...
- 异常续--捕获--重载与重写--finally块
- EnjoySearch搜索引擎工具,开始支持:神马搜索
- 电脑开机突然变得很慢?是机器老化么?你该了解了解这些了
- WebStorm的破解与安装
- The Architecture of Open Source Applications: Berkeley DB