En-tête Access-Control-Expose-Headers
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
L'en-tête de réponse HTTP Access-Control-Expose-Headers permet à un serveur d'indiquer quels en-têtes de réponse doivent être rendus accessibles aux scripts exécutés dans le navigateur en réponse à une requête inter-origines.
Seuls les en-têtes de réponse sûrs pour le CORS sont exposés par défaut. Pour que les clients puissent accéder à d'autres en-têtes, le serveur doit les lister à l'aide de l'en-tête Access-Control-Expose-Headers.
| Type d'en-tête | En-tête de réponse |
|---|---|
| Nom d'en-tête interdit | Non |
Syntaxe
Access-Control-Expose-Headers: [<header-name>[, <header-name>]*]
Access-Control-Expose-Headers: *
Directives
<header-name>-
Une liste de zéro ou plusieurs noms d'en-tête séparés par des virgules auxquels les clients sont autorisés à accéder depuis une réponse. Ceux-ci s'ajoutent aux en-têtes de réponse sûrs pour le CORS.
*(joker)-
Tout en-tête. La valeur
*n'est considérée comme une valeur joker spéciale que pour les requêtes sans justificatifs (requêtes sans cookies HTTP ou information d'authentification HTTP). Pour les requêtes avec justificatifs, elle est traitée comme le nom d'en-tête littéral*.
Exemples
Les en-têtes de réponse sûrs pour le CORS sont : Cache-Control, Content-Language, Content-Length, Content-Type, Expires, Last-Modified, Pragma. Pour exposer un en-tête de réponse qui n'est pas sûr pour le CORS, vous pouvez définir :
Access-Control-Expose-Headers: Content-Encoding
Pour exposer également un en-tête personnalisé, comme Kuma-Revision, vous pouvez définir plusieurs en-têtes séparés par une virgule :
Access-Control-Expose-Headers: Content-Encoding, Kuma-Revision
Pour les requêtes sans justificatifs, un serveur peut aussi répondre avec une valeur joker :
Access-Control-Expose-Headers: *
Un serveur peut aussi répondre avec la valeur * pour les requêtes avec justificatifs, mais dans ce cas cela désigne un en-tête nommé *.
Spécifications
| Specification |
|---|
| Fetch> # http-access-control-expose-headers> |
Compatibilité des navigateurs
Voir aussi
- L'en-tête HTTP
Access-Control-Allow-Headers - L'en-tête HTTP
Access-Control-Allow-Origin