Access-Control-Expose-Headers 头

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

HTTP Access-Control-Expose-Headers 响应头允许服务器指示哪些响应头应该对浏览器中运行的脚本在响应跨域请求时可用。

默认情况下,只有CORS 安全响应头会被暴露。为了让客户端能够访问其他头,服务器必须使用 Access-Control-Expose-Headers 头来列出它们。

头类型 响应头
禁止请求头

语法

http
Access-Control-Expose-Headers: [<header-name>[, <header-name>]*]
Access-Control-Expose-Headers: *

指令

<header-name>

一个包含零个或多个逗号分隔的头名称的列表,客户端被允许从响应中访问这些头。这些头是CORS 安全响应头补充

* (通配符)

任何头。值 * 仅对于没有凭据的请求(没有 HTTP cookie 或 HTTP 认证信息的请求)才算作特殊的通配符值。在有凭据的请求中,它被视为字面上的头名称 *

示例

CORS 安全响应头包括:Cache-ControlContent-LanguageContent-LengthContent-TypeExpiresLast-ModifiedPragma。要暴露一个非 CORS 安全响应头,你可以指定

http
Access-Control-Expose-Headers: Content-Encoding

要额外暴露一个自定义头,例如 Kuma-Revision,你可以指定多个头,用逗号分隔

http
Access-Control-Expose-Headers: Content-Encoding, Kuma-Revision

对于没有凭据的请求,服务器也可以用通配符值响应

http
Access-Control-Expose-Headers: *

服务器也可以用 * 值响应有凭据的请求,但在这种情况下,它指的是名为 * 的头。

规范

规范
Fetch
# http-access-control-expose-headers

浏览器兼容性

另见