Sec-Fetch-Mode

基线 2023

新功能

2023 年 3 月起,此功能在最新的设备和浏览器版本上都能正常运行。此功能可能无法在较旧的设备或浏览器上正常运行。

Sec-Fetch-Mode 获取元数据请求头 指示请求的模式

总的来说,这允许服务器区分:来自用户在 HTML 页面之间导航的请求,以及加载图像和其他资源的请求。例如,此头将在顶级导航请求中包含 navigate,而加载图像时则使用 no-cors

头类型 获取元数据请求头
禁止的头名称 是(前缀 Sec-
CORS 安全列表请求头

语法

http
Sec-Fetch-Mode: cors
Sec-Fetch-Mode: navigate
Sec-Fetch-Mode: no-cors
Sec-Fetch-Mode: same-origin
Sec-Fetch-Mode: websocket

如果此头包含任何其他值,服务器应该忽略它。

指令

注意: 这些指令对应于 Request.mode 中的值。

cors

该请求是 CORS 协议 请求。

该请求是由 HTML 文档之间的导航发起的。

no-cors

该请求是 no-cors 请求(参见 Request.mode)。

same-origin

该请求来自与所请求资源相同的来源。

websocket

该请求正在用于建立 WebSocket 连接。

示例

如果用户点击页面链接到同一来源上的另一个页面,则生成的请求将具有以下头(注意,模式为 navigate

http
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1

<img> 元素生成的跨站点请求将导致具有以下 HTTP 请求头的请求(注意,模式为 no-cors

http
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

规范

规范
获取元数据请求头
# sec-fetch-mode-header

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅