前端网页发送请求报错Referrer Policy: strict-origin-when-cross-origin
时间: 2023-11-09 08:00:06 浏览: 171
这个错误通常是因为浏览器的 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: 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头部信息,从而解决这个问题。
yarn start 后浏览器报错如何解决Referrer Policy: strict-origin-when-cross-origin
这个问题是由于浏览器的Referrer策略引起的。可以在启动服务器时添加一个新的参数,例如:
```
yarn start --no-open --port 3000 --host 0.0.0.0 --disable-host-check --public myip:3000
```
其中,`--disable-host-check`用于禁用主机检查,`--public myip:3000`指定公共URL,以解决浏览器中的Referrer策略问题。
阅读全文