Headers

L'interface Headers de l'API Fetch vous permet d'effectuer diverses actions sur les en-têtes de requête et de réponse HTTP. Ces actions incluent la récupération, la configuration, l’ajout et la suppression. Un objet Headers a une liste Headers associée qui est vide lors de l'initialisation et qui est constituée de zéro ou plusieurs paires de noms et de valeurs. Vous pouvez en ajouter via les méthodes commeappend() (see Examples.)  Dans toutes les méthodes de cette interface, les noms des Headers sont reliés à une séquence d'octets sensible à la case.

Pour des raisons de sécurité, les Headers ci-dessous peuvent être controlés uniquement par l'User Agent : forbidden header names  et forbidden response header names.

Un objet Headers a aussi une garde associée, qui prend la valeur immutable, request, request-no-cors, reponse, or none. Cela affecte si les méthodes set(), delete(), et append()  vont modifier le Header. Pour plus d'informations voir Guard.

Vous pouvez récuperer un objet Header via les propriétés Request.headers et Response.headers et créer un nouvel objet Header en utilisant le constructeur Headers.Headers().

Un objet implémentant Headers peut directement être utilisé dans une structure for...of, au lieu deentries(): for (var p of myHeaders) est équivalent à for (var p of myHeaders.entries()).

Note: Vous pouvez trouver plus d'informations à propos des Headers disponibles en lisant la page suivante : HTTP headers.

Constructeur

Headers()
Crée un nouvel objet Headers.

Méthodes

Headers.append()
Ajoute uen nouvelle valeur à un Header existant dans un objet Headers, ou ajoute le header s'il n'existe pas déjà.
Headers.delete()
Supprime un header dans un objet Headers.
Headers.entries()
Retourne un iterator permettant d'acceder à toutes les paires clef/valeur contenue dans cet objet.
Headers.forEach()
Exécute une fonction fournie une fois pour chaque élément du tableau.
Headers.get()
Retourne une séquence ByteString de toutes les valeurs d'un Header dans un objet Headers avec un nom donné.
Headers.has()
Retourne un booléen indiquant si un objet Headers contient un certain header.
Headers.keys()
Retourne un  iterator permettant de parcourir toutes les clefs des paires clef/valeur contenues dans cet objet.
Headers.set()
Définti une nouvelle valeur pour un header existant dans un objet Headers, ou ajoute le header s'il n'existe pas déjà.
Headers.values()
Retourne un iterator permettant de parcourir toutes les valeurs des paires clefs/valeur contenues dans cet objet.

Note: Poue être clair, la différence entre Headers.set() et Headers.append() est que si le header spécifié existe et accepte plusieurs valeurs,  Headers.set() va remplacer la valeur existante par la nouvelle, tandis que Headers.append() va ajouter la nouvelle valeur à la fin des autres valeurs. Voir leurs pages dédiées pour des exemples de code.

Note: Toutes les méthodes Headers vont retourner TypeError si vous essayez de passer dans une réfférenceun nom qui n'est pas un nom de Header HTTP valide. Les opérations de mutation vont retourner TypeError si le header a un Guard immuable. Dans tous les autres cas, les erreurs sont silencieuses.

Note: Lorsque les valeurs d'en-tête sont itérées, elles sont automatiquement triées par ordre lexicographique et les valeurs des noms d'en-tête en double sont combinées.

Méthodes obsolètes

Headers.getAll()
Utilisée pour retourner un array de toutes les valeurs d'un header dans un objet Headers avec un nom donné. Cette méthode est maintenant supprimée des standards, et Headers.get() retourne maintenant toutes les valeurs d'un nom donné au lieu du premier seulement.

Exemples

Dans le fragment de code suivant, nous créons un nouvel Header en utilisant le contructeur Headers(), ajoutons un nouvel header à ce dernier en utilisant append(), puis retournons la valeur du header en utilisant get() :

var monHeader = new Headers();

monHeader.append('Content-Type', 'text/xml');
monHeader.get('Content-Type') // doit retourner 'text/xml'

La même chose peut être accomplie en passant par un array d'array  un littéral d'objet au constructeur.

var mesHeaders = new Headers({
    'Content-Type': 'text/xml'
});

// ou, en utilisant un array d'array
mesHeaders = new Headers([
    ['Content-Type', 'text/xml']
]);

mesHeaders.get('Content-Type') // doit retourner 'text/xml'

Caractéristiques

Caractéristiques Statut Commentaires
Fetch
La définition de 'Headers' dans cette spécification.
Standard évolutif

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
HeadersChrome Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Support complet OuiFirefox Support complet 39
Support complet 39
Support complet 34
Désactivée
Désactivée From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Support complet 10.1WebView Android Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference.
Chrome Android Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Firefox Android Support complet 44Opera Android Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Aucun support NonSamsung Internet Android Support complet 4.0
append
Expérimentale
Chrome Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Support complet 14Firefox Support complet 39
Support complet 39
Support complet 34
Désactivée
Désactivée From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Support complet 10.1WebView Android Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference.
Chrome Android Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Firefox Android Aucun support NonOpera Android Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Aucun support NonSamsung Internet Android Support complet 4.0
delete
Expérimentale
Chrome Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Support complet 14Firefox Support complet 39
Support complet 39
Support complet 34
Désactivée
Désactivée From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Support complet 10.1WebView Android Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference.
Chrome Android Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Firefox Android Aucun support NonOpera Android Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Aucun support NonSamsung Internet Android Support complet 4.0
entries
Expérimentale
Chrome Support complet 45Edge Support complet 16Firefox Support complet 44IE Aucun support NonOpera Support complet 32Safari ? WebView Android Support complet 45Chrome Android Support complet 45Firefox Android Support complet 44Opera Android Support complet 32Safari iOS Aucun support NonSamsung Internet Android Support complet 5.0
get
Expérimentale
Chrome Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Support complet 14Firefox Support complet 52
Notes
Support complet 52
Notes
Notes Prior to Firefox 52, get() only returned the first value in the specified header, with getAll() returning all values. From 52 onwards, get() now returns all values and getAll() has been deleted.
Support complet 39
Support complet 34
Désactivée
Désactivée From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Support complet 10.1WebView Android Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference.
Chrome Android Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Firefox Android Aucun support NonOpera Android Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Aucun support NonSamsung Internet Android Support complet 4.0
getAll
ExpérimentaleObsolèteNon-standard
Chrome Aucun support 42 — 60Edge Support complet OuiFirefox Aucun support 39 — 52
Aucun support 39 — 52
Support complet 34
Désactivée
Désactivée From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Aucun support 29 — 47Safari Aucun support NonWebView Android Aucun support 42 — 60Chrome Android Aucun support 42 — 60Firefox Android Aucun support NonOpera Android Aucun support 29 — 44Safari iOS Aucun support NonSamsung Internet Android Support complet 4.0
has
Expérimentale
Chrome Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Support complet 14Firefox Support complet 39
Support complet 39
Support complet 34
Désactivée
Désactivée From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Aucun support NonWebView Android Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference.
Chrome Android Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Firefox Android Aucun support NonOpera Android Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Aucun support NonSamsung Internet Android Support complet 4.0
Headers() constructor
Expérimentale
Chrome Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge ? Firefox Support complet 39
Support complet 39
Support complet 34
Désactivée
Désactivée From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Support complet 10.1WebView Android Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference.
Chrome Android Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Firefox Android Aucun support NonOpera Android Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the preference.
Safari iOS Aucun support NonSamsung Internet Android Support complet 4.0
keys
Expérimentale
Chrome Support complet 45Edge Support complet 16Firefox Support complet 44IE Aucun support NonOpera Support complet 32Safari ? WebView Android Support complet 45Chrome Android Support complet 45Firefox Android Support complet 44Opera Android Support complet 32Safari iOS Aucun support NonSamsung Internet Android Support complet 5.0
Lexicographical sorting, and values from duplicate header names combined when iterated.Chrome ? Edge ? Firefox Support complet 44IE Aucun support NonOpera Support complet 28Safari Aucun support NonWebView Android ? Chrome Android ? Firefox Android Aucun support NonOpera Android ? Safari iOS Aucun support NonSamsung Internet Android ?
set
Expérimentale
Chrome Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Edge Support complet 14Firefox Support complet 39
Support complet 39
Support complet 34
Désactivée
Désactivée From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Aucun support NonWebView Android Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference.
Chrome Android Support complet 42
Support complet 42
Support complet 41
Désactivée
Désactivée From version 41: this feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.
Firefox Android Aucun support NonOpera Android Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Aucun support NonSamsung Internet Android Support complet 4.0
values
Expérimentale
Chrome Support complet 45Edge Support complet 16Firefox Support complet 44IE Aucun support NonOpera Support complet 32Safari ? WebView Android Support complet 45Chrome Android Support complet 45Firefox Android Support complet 44Opera Android Support complet 32Safari iOS Aucun support NonSamsung Internet Android Support complet 5.0

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Fonctionnalité non-standard. Celle-ci peut être incorrectement supportée par les autres navigateurs.
Fonctionnalité non-standard. Celle-ci peut être incorrectement supportée par les autres navigateurs.
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.
Voir les notes d'implémentation.
Voir les notes d'implémentation.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.

Voir aussi