Access-Control-Expose-Headers

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

We’d love to hear your thoughts on the next set of proposals for the JavaScript language. You can find a description of the proposals here.
Please take two minutes to fill out our short survey.

O cabeçalho de resposta Access-Control-Expose-Headers indica quais cabeçalhos podem ser expostos como parte da resposta listando os seus nomes.

Por padrão, somente os 6 CORS-safelisted response headers são expostos:

Se você quiser que clientes tenham acesso a outros cabeçalhos, você deve listá-los usando o cabeçalho Access-Control-Expose-Headers.

Tipo de cabeçalho Response header
Forbidden header name não

Sintaxe

Access-Control-Expose-Headers: <nome-do-cabeçalho>, <nome-do-cabeçalho>, ...
Access-Control-Expose-Headers: *

Diretivas

<nome-do-cabeçalho>

Uma lista dos cabeçalhos expostos contendo zero ou mais nomes de cabeçalhos além dos CORS-safelisted request headers que o recurso pode usar e expor.

* (coringa)

O valor "*" conta somente como um valor coringa para requisições sem credenciais (requisições sem cookies HTTP ou informação de autenticação HTTP). Em requisições com credenciais, ele é tratado como o nome de cabeçalho literal "*" sem qualquer semântica. Note que o cabeçalho Authorization não pode ter valor coringa e sempre precisa ser listado explicitamente.

Exemplos

Para expor um cabeçalho de requisição não-CORS-seguro, você pode especificar:

Access-Control-Expose-Headers: Content-Length

Para expor um cabeçalho customizado adicionalmente, como X-Kuma-Revision, você pode adicionar múltiplos cabeçalhos separados por vírgula:

Access-Control-Expose-Headers: Content-Length, X-Kuma-Revision

Em requisições sem credênciais, você também pode usar um valor coringa:

Access-Control-Expose-Headers: *

Entretanto, isso não irá colocar um valor coringa para o cabeçalho Authorization, então caso você precise que ele seja exposto, você precisa listá-lo explicitamente:

Access-Control-Expose-Headers: *, Authorization

Especificações

Specification
Fetch
# http-access-control-expose-headers

Compatibilidade com navegadores

Veja também