前端 Referrer Policy: strict-origin-when-cross-origin
时间: 2023-12-21 21:31:59 浏览: 344
Referrer Policy: strict-origin-when-cross-origin是一种前端安全策略,用于控制浏览器在跨域请求时如何发送Referer头部信息。Referer头部信息包含了当前页面的URL,当浏览器发送请求到另一个域时,会将Referer头部信息一同发送过去。
Referrer Policy: strict-origin-when-cross-origin的含义是,当从一个安全的HTTPS页面跳转到一个非安全的HTTP页面时,浏览器会发送Referer头部信息,但是当从一个非安全的HTTP页面跳转到一个安全的HTTPS页面时,浏览器不会发送Referer头部信息。
这个策略的目的是保护用户的隐私和安全。因为在跨域请求时,如果发送了Referer头部信息,可能会暴露用户的敏感信息。所以在从一个非安全的HTTP页面跳转到一个安全的HTTPS页面时,浏览器不发送Referer头部信息,以保护用户的隐私。
要解决Referrer Policy: strict-origin-when-cross-origin问题,只需要将HTTP协议更改为网站的HTTPS协议即可。确保网站的所有页面都使用HTTPS协议,这样就能避免跨域请求时发送Referer头部信息,从而解决这个问题。
相关问题
前端网页发送请求报错Referrer Policy: strict-origin-when-cross-origin
这个错误通常是因为浏览器的 Referrer Policy 设置引起的。Referrer Policy 是用来控制浏览器在发送请求时是否带上 Referrer 头信息的策略。
"strict-origin-when-cross-origin" 是一种 Referrer Policy 的取值,表示当跨域请求时,只发送来源页面的原始域名(不带路径和查询参数)作为 Referrer 信息,而同域请求会发送完整的 URL 作为 Referrer 信息。
要解决这个问题,可以通过以下方法之一:
1. 在服务器端设置正确的 Referrer Policy。可以在服务器的响应头中添加 Referrer-Policy 头信息来控制浏览器的行为,例如:
```
Referrer-Policy: strict-origin-when-cross-origin
```
这样浏览器在发送请求时就会遵循这个策略。
2. 在前端代码中设置请求的 Referrer Policy。可以在发送请求时,通过设置请求头的方式来指定 Referrer Policy,例如使用 fetch API 发送请求:
```javascript
fetch(url, {
referrerPolicy: "strict-origin-when-cross-origin"
});
```
3. 修改项目中的文件,将请求地址改为同源地址。如果请求的地址与当前页面不同源,可以尝试将请求地址改为同源地址,或者使用代理服务器来处理跨域请求。
Referrer Policy:strict-origin-when-cross-origin
Referrer Policy是一种HTTP头部字段,用于控制浏览器在发起跨源请求时如何提供之前页面的来源信息给目标服务器。"strict-origin-when-cross-origin"策略表示当请求跨域时,浏览器只会发送原始域名作为referrer,而在同源请求或使用'same-origin'策略时,会像常规一样显示完整的URL。
这个策略的主要目的是保护用户的隐私,防止恶意网站滥用用户点击跟踪信息。它限制了从第三方来源获取完整URL的能力,只有在明确需要跨域通信的时候才泄露最少的信息,提高了安全性。
阅读全文