Headers
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.
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()
(voir la section Exemples.) 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 une 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 objetHeaders
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 : Pour ê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, etHeaders.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'
Spécifications
Specification |
---|
Fetch Standard # headers-class |
Compatibilité des navigateurs
BCD tables only load in the browser