HTTP 响应字段 strict-origin-when-cross-origin 的含义介绍

这篇具有很好参考价值的文章主要介绍了HTTP 响应字段 strict-origin-when-cross-origin 的含义介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Referrer Policy 是一个 HTTP 响应头部字段,用于控制浏览器在发送跳转请求时,将当前页面的 URL 信息如何包含在 Referer 首部字段中。Referrer Policy 的值可以设置为不同的策略,其中 “strict-origin-when-cross-origin” 是一种常见的策略,它具体的含义是:

  1. 当请求源(origin)和目标源(origin)相同时,将包含完整的 URL 信息。
  2. 当请求源和目标源不同源时,仅包含请求源的 origin 信息,不包含路径或查询参数等详细信息。

下面我将详细解释 Referrer Policy 的工作原理,并提供一些示例来说明它的应用。

Referrer 和 Referrer Policy

在理解 “strict-origin-when-cross-origin” 前,我们需要了解 Referrer 和 Referrer Policy 的背景。

Referrer: Referrer 是 HTTP 请求的一个首部字段,它用于指示请求是从哪个页面跳转而来的。通常,Referrer 首部包含了当前页面的 URL,这对于一些网站分析和安全策略非常有用。例如,如果用户从一个网页点击到另一个网页,目标网页可以通过 Referrer 首部获取跳转前的来源网页信息。

Referrer Policy: Referrer Policy 是一种安全策略,允许网站控制浏览器在发送请求时,是否将当前页面的 URL 信息包含在 Referrer 首部中,以及如何包含。这有助于保护用户的隐私和提高安全性。

“strict-origin-when-cross-origin” 策略

“strict-origin-when-cross-origin” 是一种比较严格的 Referrer Policy 策略。它的行为如下:

  1. 当请求从一个页面 A 跳转到同一源的页面 B 时,Referrer 首部会包含完整的 URL 信息,包括路径和查询参数。这是为了确保目标页面 B 能够获取足够的信息来处理请求。

    例如,如果页面 A 的 URL 是 https://example.com/pageA,用户点击链接跳转到 https://example.com/pageB,那么 Referrer 首部中将包含完整的来源 URL https://example.com/pageA

  2. 当请求从页面 A 跳转到不同源的页面 C 时,Referrer 首部只包含请求源的 origin 信息,而不包含路径或查询参数等详细信息。这是为了减少敏感信息的泄露。

例如,如果页面 A 的 URL 是 https://example.com/pageA,用户点击链接跳转到 https://otherdomain.com/pageC,那么 Referrer 首部中将只包含 https://example.com,而不包含页面 A 的具体路径和查询参数。

这种策略的目的是在同一源内保持信息的完整性,同时在不同源之间限制信息泄露,从而提高用户隐私和安全性。

示例

为了更好地理解 “strict-origin-when-cross-origin” 策略,让我们看一些具体的示例:

同一源的跳转

假设用户正在访问以下页面 A 的 URL:https://example.com/pageA

用户点击页面 A 上的链接,跳转到同一源的页面 B:https://example.com/pageB

根据 “strict-origin-when-cross-origin” 策略,当请求从页面 A 到页面 B 时,Referrer 首部会包含完整的来源 URL 信息:

Referer: `https://example.com/pageA`

这样,页面 B 可以知道用户是从页面 A 跳转而来的,并获取页面 A 的详细信息。

跨源的跳转

假设用户正在访问以下页面 A 的 URL:https://example.com/pageA

用户点击页面 A 上的链接,跳转到不同源的页面 C:https://otherdomain.com/pageC

根据 “strict-origin-when-cross-origin” 策略,当请求从页面 A 到页面 C 时,Referrer 首部只包含请求源的 origin 信息,而不包含路径或查询参数等详细信息:

Referer: `https://example.com`

这样,页面 C 只知道请求来自 https://example.com,但无法获取页面 A 的具体路径或其他敏感信息。

为什么使用 “strict-origin-when-cross-origin”

“strict-origin-when-cross-origin” 是一种相对较严格的 Referrer Policy 策略,它在跨源跳转时限制了信息的泄露。这种策略有以下优点:

  1. 隐私保护: 在跳转到不同源时,只包含请求源的 origin 信息,而不包含具体路径或查询参数,有助于保护用户的隐私。用户的敏感信息不会泄露给不同源的网站。

  2. 安全性增强: 减少了信息泄露的可能性,有助于提高网站的安全性。攻击者无法轻易获取到跳转前页面的详细信息,从而减少了一些攻击的可能性。

  3. 符合最佳实践: “strict-origin-when-cross-origin” 是一种符合网络安全和隐私最佳实践的策略。它有助于网站遵循现代的数据隐私法规,如 GDPR。

总之,“strict-origin-when-cross-origin” 策略有助于在用户体验、隐私和安全性之间取得平衡,从而提供更好的网络环境。

如何设置 Referrer Policy

要设置 Referrer Policy,您需要在服务器端配置您的网站或应用程序的

HTTP 响应头部。具体的设置方式取决于您使用的服务器软件和编程语言。以下是一个示例,演示如何在 Apache 服务器上设置 Referrer Policy:

在 Apache 配置文件中,您可以使用 Header 指令来设置 Referrer Policy。在 .htaccess 文件中,可以添加以下行:

Header always set Referrer-Policy "strict-origin-when-cross-origin"

这将告诉 Apache 服务器在响应中包含 “Referrer-Policy” 头部,并将其值设置为 “strict-origin-when-cross-origin”。

在其他服务器环境中,设置方法可能有所不同。在 Node.js 中,您可以使用 Express 框架的中间件来设置 Referrer Policy。在 Python 中,您可以使用 Django 或 Flask 框架的设置来配置。

结论

Referrer Policy 是一项有助于控制浏览器在发送跳转请求时如何包含 Referrer 信息的安全策略。“strict-origin-when-cross-origin” 是其中一种常见的策略,它在同一源内保持信息的完整性,同时在不同源之间限制信息泄露。这有助于提高用户的隐私和增强网络安全性。

在配置 Referrer Policy 时,网站管理员需要仔细考虑用户隐私和网站安全性的需求,选择适当的策略。“strict-origin-when-cross-origin” 策略是一个很好的选择,它遵循现代网络安全和隐私的最佳实践,为用户提供更好的网络体验。文章来源地址https://www.toymoban.com/news/detail-761499.html

到了这里,关于HTTP 响应字段 strict-origin-when-cross-origin 的含义介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 谷歌浏览器请求 strict-origin-when-cross-origin 跨域问题,解决方法之一

    项目打包部署在内网后,index.html 里通过script标签引入的其他链接资源不能正常请求,报的是跨域错误 首先观察了资源请求正常和请求报错的两台电脑,发现两者请求的 Referrer Policy(引荐来源网址政策) 不同。 其次发现两个电脑的谷歌浏览器版本不同,可以正常请求的是用

    2024年02月12日
    浏览(97)
  • clickjacking(点击劫持)、请求的响应头中缺少 Strict-Transport-Security

    1.问题展示 项目安全扫描,扫到以下问题。 检测到目标URL存在客户端(JavaScript)Cookie引用 检测到目标Strict-Transport-Security响应头缺失 检测到目标Referrer-Policy响应头缺失 检测到目标X-Permitted-Cross-Domain-Policies响应头缺失 检测到目标X-Download-Options响应头缺失 点击劫持:X-Frame-Op

    2024年02月11日
    浏览(41)
  • Spring XML使用CASE WHEN处理SELECT字段

    在日常开发中,经常会碰到需要导出的情况。而一些枚举值或者状态一般是定义成整型,这个时候需要对数据进行转换,转换成对应的文本再导出。 在XML中用CASE WHEN来根据不同的查询结果做不同的处理。 比如 这样,如果学生的状态值是1,则返回在学;如果状态值是2,则返

    2024年02月05日
    浏览(45)
  • HTTP 头部- Origin Referer

    Origin Header 示例 Origin 请求头部是一个 HTTP 头部,它提供了发起请求的网页的源(协议、域名和端口)信息。它通常在进行跨域资源共享(CORS)请求时使用,以便服务器可以决定是否接受请求。 假设我们在浏览器的地址栏输入并访问 http://www.example.com ,这个网站上有一个 AJ

    2024年02月21日
    浏览(34)
  • IDEA:clone failed received http/0.9 when not allowed

    如题: 1、完全卸载了旧版本的IDEA 2020.1.1 版本之后,重新下载了2022.2.2版本安装 2、设置完成之后打开原来下载好的远程到本地的代码,获取更新、提交代码时报错 具体原因没有完全确定,考虑为以下原因: 1)旧版本的IDEA进行代码clone时,登录了远程地址账号,生成的配置

    2024年02月11日
    浏览(33)
  • HTTP杂谈之Referer和Origin请求头再探

    一  关于Referer和Origin的汇总 nginx防盗链 HTTP杂谈之Referrer-Policy响应头 iframe标签referrerpolicy属性 如何合法的跨域访问 nginx与跨域细节探究 使用referer模块和secure_link模块提供变量防盗链 二   细节点、重点、难点挖掘 ①  nginx valid_referers指令的 server_names  referer三点注意事项

    2024年02月10日
    浏览(39)
  • SpringBoot返回响应排除为 null 的字段

    可以通过全局配置,使返回响应中为 null 的字段,不在出现在返回结果中。 注意:这样配置,使得返回响应包含的字段随请求结果变化,响应到底包含哪些字段不直观;除非业务明确有这种需求,否则不建议配置。 PS:Gson将Bean转为JSON时,默认会排除null字段。 添加配置前:

    2024年02月11日
    浏览(42)
  • es查询响应结果中获取某些字段的值

            有时候使用es查询出的结果包含多个字段,如果数据中仅仅包含几个字段时,我们是很容易挑出自己需要的字段值,但是如果数据中包含几十或者几百甚至更多时,尤其是数据中嵌套好多层时,不容易直接挑取出需要的值,这时候可以借助程序直接查找出来。或者

    2024年02月12日
    浏览(55)
  • 解决:An HTTP error occurred when trying to retrieve this URL. HTTP errors are often intermittent

    anaconda安装没有问题,但是在环境里面导入包时候报错,有以下几种原因可能导致错误 原因一:镜像源导致的问题 方法一:修改镜像源 方法二:修改 .condarc文件 参考网上即可,网上对于原因一导致的错误修改方法有很多 原因二:vpn导致的问题 关掉vpn重新导入 原因三:包的

    2024年01月19日
    浏览(46)
  • conda 解决An HTTP error occurred when trying to retrieve this URL

    有以下几种可能的解决方案: 更换清华源 :可以把清华源的 URL 添加到 Anaconda 的默认通道中,这样就可以从国内的镜像下载安装包。 修改 SSL 验证 :可以在命令行中输入 conda config --set ssl_verify false 或者在 .condarc 文件中添加一行 ssl_verify: false 来关闭 SSL 验证,这样就可以避

    2024年01月17日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包