此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Early-Data 标头

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

实验性: 这是一项实验性技术
在将其用于生产之前,请仔细检查浏览器兼容性表格

HTTP Early-Data 请求标头由某个中间者设置来表示请求已在 TLS 早期数据中传送,且表示某个中间者理解 425 Too Early 状态码。

如果客户端最近与服务器交互过,早期数据(也称为零往返时间(0-RTT)数据)允许客户端在连接的第一个往返中向服务器发送数据,而无需等待 TLS 握手完成。这减少了客户端和服务器之间重复连接的延迟,但具有安全隐患,因为早期数据容易受到重放攻击。

Early-Data 标头由请求的发起者设置(例如,浏览器)。

标头类型 请求标头
禁止修改的请求标头

语法

http
Early-Data: 1

示例

携带 Early-Data 标头的 GET 请求

希望使用早期数据的客户端可以在发送 TLS ClientHello 后立即发送 HTTP 请求。在早期数据中发送请求意味着客户端愿意在收到 425 Too Early 状态码时重试请求,因此不包括 Early-Data 标头:

http
GET /resource HTTP/1.1
Host: example.com

如果中间者在与其客户端完成 TLS 握手之前转发请求,则会将其发送,并将 Early-Data 标头设置为 1

http
GET /resource HTTP/1.1
Host: example.com
Early-Data: 1

规范

Specification
Using Early Data in HTTP
# header

浏览器兼容性

参见