“引荐来源网址政策”(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
,可以在保护用户隐私的同时,确保网站功能正常运行。
- 随机文章
- 热门文章
- 热评文章
- 揭示你的真实自我:深入心理测试心理测试题免费
- 探索内心深处的爱情观:爱情心理测试解析爱情心理测试20题
- 探索自我:揭示你的潜在人格特质心理小测试不一样的事
- 情商与智商:揭秘你的智慧与情感测你智商高还是情商高还是逆商高
- 全球关注的环境问题:气候变化与可持续发展在全世界被广泛使用用英语说
- 2025-04-13:范围内整数的最大得分。用go语言,给定一个整数数组 start 和一个整数 d,这代表了 n 个区间 [s
- Java 微服务:如何实现服务发现与负载均衡?
- 性格测试 测你的性格像《小娘惹》中的谁
- 人格瓶子小测试选一个瓶子分析你的人格