什么是 HTTP 响应字段里的 Referrer Policy

举报
Jerry Wang 发表于 2023/12/04 11:04:26 2023/12/04
【摘要】 如下图所示,我在 HTTP 请求的响应头部里看到 Referrer Policy 字段为 strict-origin-when-cross-origin, 这个字段的含义如下。HTTP 头部中的 Referrer Policy 字段用于定义浏览器在跨站请求时应如何处理 HTTP Referer 头部。这是一个重要的字段,因为它可以帮助网站所有者控制他们的网站信息如何被共享,并可以提高网站的安...

如下图所示,我在 HTTP 请求的响应头部里看到 Referrer Policy 字段为 strict-origin-when-cross-origin, 这个字段的含义如下。

HTTP 头部中的 Referrer Policy 字段用于定义浏览器在跨站请求时应如何处理 HTTP Referer 头部。这是一个重要的字段,因为它可以帮助网站所有者控制他们的网站信息如何被共享,并可以提高网站的安全性。这个字段有几个可能的值,其中之一就是 strict-origin-when-cross-origin

strict-origin-when-cross-origin 的含义是:如果请求是在同一个网站内部进行(也就是不跨域)时,Referer 头部将包含完整的 URL。而当请求跨域时,Referer 头部只会包含发出请求的网站的源信息(协议、主机和端口),不包含路径或者查询字符串。

举个例子,假设一个页面的 URL 为 https://www.example.com/path?query=1,当这个页面发出一个同源请求,比如请求 https://www.example.com/api/data,那么请求的 Referer 头部将会是完整的 URL:https://www.example.com/path?query=1

然而,如果这个页面发出一个跨域请求,比如请求 https://www.other-site.com/api/data,那么请求的 Referer 头部将只会是源信息:https://www.example.com

这个策略的优点是,当你的网站与其他网站进行跨域通信时,可以防止敏感的路径和查询参数信息被泄露。这样可以提高网站的安全性,防止可能的数据泄露。

然而,这种策略也有一些局限性。例如,如果你的网站需要与其他网站共享某些路径或查询参数信息,那么 strict-origin-when-cross-origin 策略可能就不适用了。在这种情况下,你可能需要选择一个更适合的 Referrer Policy 策略。

注意,Referrer Policy 的默认值是 no-referrer-when-downgrade,这意味着如果请求是从 HTTPS 到 HTTP,Referer 头部将被省略。如果你没有明确设置 Referrer Policy,那么将使用这个默认值。

总的来说,Referrer Policy 是一个强大的工具,可以帮助你控制你的网站信息如何被共享。选择正确的策略可以提高你的网站的安全性,防止可能的数据泄露。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。