“引荐来源网址政策”(Referrer Policy)解析
“引荐来源网址政策”(Referrer Policy)解析
Referrer Policy
是 HTTP 响应头(Referrer-Policy
)或 HTML <meta>
标签中定义的策略,用于控制浏览器在发起请求时如何传递 Referer
(引荐来源)头部信息。strict-origin-when-cross-origin
是其中一种策略,以下是其含义及所有可选值的详细说明。
1. strict-origin-when-cross-origin
的含义
- 适用场景:跨域请求(如从
https://example.com
跳转到https://api.example.org
)。 - 行为:
- 同源请求:发送完整的
Referer
(包括路径和查询参数)。
示例:- 访问
https://example.com/page1
→ 跳转到https://example.com/page2
- 发送的
Referer
:https://example.com/page1
- 访问
- 跨域请求:仅发送来源(
origin
,即协议+域名+端口),不包含路径和查询参数。
示例:- 访问
https://example.com/page1
→ 跳转到https://api.example.org/data
- 发送的
Referer
:https://example.com
(隐藏/page1
)
- 访问
- 同源请求:发送完整的
- 安全特性:
- 在跨域时隐藏路径和查询参数,防止敏感信息(如用户 ID、搜索关键词)泄露。
- 相比宽松策略(如
no-referrer-when-downgrade
),更严格地保护隐私。
2. 所有 Referrer Policy
值及行为
以下是 HTTP 响应头或 <meta>
标签中可配置的所有策略及其行为:
策略值 | 同源请求 | 跨域请求 | 安全等级 | 典型用途 |
---|---|---|---|---|
no-referrer |
不发送 Referer |
不发送 Referer |
最高 | 完全禁用引荐来源(如隐私敏感场景) |
no-referrer-when-downgrade |
发送完整 Referer |
仅当目标为 HTTPS 时发送完整 Referer ;HTTP 时不发送 |
中等 | 默认策略(浏览器默认行为) |
same-origin |
发送完整 Referer |
不发送 Referer |
高 | 仅允许同源请求携带引荐来源 |
origin |
发送来源(origin ) |
发送来源(origin ) |
中高 | 仅暴露域名,隐藏路径和参数 |
strict-origin |
发送来源(origin ) |
仅当目标为 HTTPS 时发送来源;HTTP 时不发送 | 高 | 严格限制跨域 HTTPS 请求的引荐来源 |
origin-when-cross-origin |
发送完整 Referer |
发送来源(origin ) |
中高 | 平衡隐私与功能(如跨域 API 调用) |
strict-origin-when-cross-origin |
发送完整 Referer |
仅当目标为 HTTPS 时发送来源;HTTP 时不发送 | 高 | 严格保护跨域隐私(推荐策略) |
unsafe-url |
发送完整 Referer |
发送完整 Referer |
最低 | 允许所有请求暴露完整 URL(不安全) |
3. 策略对比与推荐
- 隐私优先:
strict-origin-when-cross-origin
:跨域时隐藏路径和参数,仅暴露来源。strict-origin
:更严格,仅允许 HTTPS 跨域请求发送来源。
- 功能优先:
origin-when-cross-origin
:允许跨域时暴露来源,适合需要部分引荐信息的场景。
- 完全禁用:
no-referrer
:彻底隐藏引荐来源,可能影响某些分析功能(如 Google Analytics)。
- 不推荐:
unsafe-url
:泄露完整 URL(包括敏感参数),仅用于测试或明确需要时。
4. 配置方式
HTTP 响应头
Referrer-Policy: strict-origin-when-cross-origin
HTML <meta>
标签
<meta name="referrer" content="strict-origin-when-cross-origin">
5. 实际应用示例
- 场景 1:用户从
https://shop.example.com/checkout?user=123
跳转到第三方支付页面https://pay.example.org
。- 策略:
strict-origin-when-cross-origin
- 结果:
Referer
发送为https://shop.example.com
(隐藏user=123
)。
- 策略:
- 场景 2:网站内部跳转
https://example.com/page1
→https://example.com/page2
。- 策略:
strict-origin-when-cross-origin
- 结果:
Referer
发送为https://example.com/page1
(完整路径)。
- 策略:
总结
strict-origin-when-cross-origin
是一种平衡隐私与功能的策略,适合大多数现代网站。- 根据安全需求选择策略:隐私优先选
strict-origin
或no-referrer
,功能优先选origin-when-cross-origin
。 - 避免使用
unsafe-url
,除非明确需要暴露完整 URL。
通过合理配置 Referrer Policy
,可以在保护用户隐私的同时,确保网站功能正常运行。
- 随机文章
- 热门文章
- 热评文章
- 探索自我:心理测试量表在个人成长和心理健康中的应用心理测试量表scl90
- 免费测你的性格像《怪你过分美丽》中的谁
- 鸿蒙动画与交互设计:ArkUI 3D变换与手势事件详解
- Java 企业级应用:SOA 与微服务的对比与选择
- AI为网络可靠性加“稳”——从断网烦恼到智能运维
- 心理测试 测测你给别人的感觉
- 性格测试 测你身上自带什么气
- 能力在线测试 察言观色的能力
- 从操作系统到智能计算:openEuler在深度学习中的应用探索【华为根技术】