当 Referer 有足够的信息时,为什么还要有 Origin 和 Referer 标头?

Bac*_*ave 20 http-referer http

如果 Referer 标头中无论如何都有 Origin,那么同时拥有这两个标头有什么意义呢?

如果接收 HTTP 请求的服务器想知道 Origin,只需查看 Referer 标头中的域即可。

我知道如果是 HTTPS 到 HTTP 请求(以及许多其他场景),则不会发送 Referer 标头,但是为什么他们不设计它,而不是删除它,而是仍然发送它,但它只有域名(Origin 标头会有)?

Mar*_*ski 8

从这里引用https://security.stackexchange.com/questions/158045/is-checking-the-referer-and-origin-headers-enough-to-prevent-csrf-provided-that

为了保护隐私,任何浏览器请求都可以决定省略 Referer 标头。因此,最好只检查 Origin 标头。(如果您想让用户保护他们的隐私)

在某些情况下,Origin 标头为空。请注意,所有这些请求都是 GET 请求,这意味着它们不应该有任何副作用。