Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Headers : méthode set()

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis mars 2017.

Note : Cette fonctionnalité est disponible via les Web Workers.

La méthode set() de l'interface Headers définit une nouvelle valeur pour un en-tête existant dans un objet Headers, ou ajoute l'en-tête s'il n'existe pas déjà.

La différence entre set() et Headers.append est que si l'en-tête défini existe déjà et accepte plusieurs valeurs, set() remplace la valeur existante par la nouvelle, tandis que Headers.append ajoute la nouvelle valeur à la fin de l'ensemble des valeurs.

Pour des raisons de sécurité, certains en-têtes ne peuvent être contrôlés que par l'agent utilisateur. Ces en-têtes incluent les en-têtes de requête interdits et les noms d'en-têtes de réponse interdits.

Syntaxe

js
set(name, value)

Paramètres

name

Le nom de l'en-tête HTTP que vous souhaitez définir avec une nouvelle valeur. Si le nom donné n'est pas le nom d'un en-tête HTTP, cette méthode lance une TypeError.

value

La nouvelle valeur que vous souhaitez définir.

Valeur de retour

Aucune (undefined).

Exemples

Créer un objet Headers vide est simple :

js
const mesEnTetes = new Headers(); // Actuellement vide

Vous pouvez ajouter un en-tête à cet objet en utilisant Headers.append, puis définir une nouvelle valeur pour cet en-tête en utilisant set() :

js
mesEnTetes.append("Content-Type", "image/jpeg");
mesEnTetes.set("Content-Type", "text/html");

Si l'en-tête défini n'existe pas déjà, set() le créera et définira sa valeur sur la valeur définie. Si l'en-tête défini existe déjà et accepte plusieurs valeurs, set() remplacera la valeur existante par la nouvelle :

js
mesEnTetes.set("Accept-Encoding", "deflate");
mesEnTetes.set("Accept-Encoding", "gzip");
mesEnTetes.get("Accept-Encoding"); // Retourne 'gzip'

Vous auriez besoin de Headers.append pour ajouter la nouvelle valeur aux valeurs existantes, et non pas pour les surcharger.

Spécifications

Spécification
Fetch
# ref-for-dom-headers-set①

Compatibilité des navigateurs

Voir aussi