Sec-Fetch-Site
Sec-Fetch-Site
fetch 元数据请求头 指示请求发起者源与请求资源源之间的关系。
换句话说,此头告诉服务器,对资源的请求来自同一个源、同一个站点、不同的站点,还是“用户发起”的请求。然后,服务器可以使用此信息来决定是否应允许该请求。
同一源请求通常默认允许,但来自其他源的请求是否被接受可能会进一步取决于正在请求的资源,或其他 fetch 元数据请求头 中的信息。默认情况下,未被接受的请求应使用 403
响应代码拒绝。
头类型 | 获取元数据请求头 |
---|---|
禁止头名称 | 是(前缀 Sec- ) |
CORS 安全列表请求头 | 否 |
语法
http
Sec-Fetch-Site: cross-site
Sec-Fetch-Site: same-origin
Sec-Fetch-Site: same-site
Sec-Fetch-Site: none
指令
示例
来自 https://mysite.example
上网页(具有相同的端口)对 https://mysite.example/foo.json
的 fetch 请求是同一源请求。浏览器将生成如下所示的 Sec-Fetch-Site: same-origin
头,服务器通常会允许该请求。
http
GET /foo.json
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
来自另一个站点(例如 potentially-evil.com
)对同一 URL 的 fetch 请求会导致浏览器生成不同的头(例如 Sec-Fetch-Site: cross-site
),服务器可以选择接受或拒绝该请求。
http
GET /foo.json
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
规范
规范 |
---|
获取元数据请求头 # sec-fetch-site-header |
浏览器兼容性
BCD 表格仅在浏览器中加载
另请参阅
- 相关头
- 使用获取元数据保护您的资源免受网络攻击 (web.dev)
- 获取元数据请求头游乐场 (secmetadata.appspot.com)