Заголовки

Інтерфейс Headers  Fetch API дозволяє вам виконувати різні дії з  HTTP запитами і заголовками відповідей. Ці дії включають отримання налаштування, додавання і видалення . Об'єкт Headers має асоціативний список заголовків, який по замовчуванню пустий і містить ноль чи більше пар імен і значень. Ви можете додавати то цього списку, використовуючи метод типу append(). У всіх методах цього інтерфейсу імена заголовків знаходяться по  не чутливим до реєсту запитам 

З метою безпеки деякі заголовки можуть контролюватись тільки за допомогою user agent. Ці заголовки включають: forbidden header names  і forbidden response header names.

Об'єкт заголовку також має associated guard, що приймає значення: immutable, request, request-no-cors, response чи none. Це впливає на те чи меоди: set(), delete(), і append() змінюватимуть заголовок. Для більшої інформації дивіться Guard.

Ви можете отримати об'єкт Headers  через властивості Request.headers іResponse.headers, і створити новий об'єкт  Headers, використовуючи конструктор Headers.Headers().

Об'єкт, що імплементує Headers може напряму використовуватись в структурі for...of замістьentries(): for (var p of myHeaders)тотожний for (var p of myHeaders.entries()).

Нотатка: Ви можете знайти більше про доступні заголовки прочитавши довідку по HTTP headers.

Конструктор

Headers.Headers()
Створює новий об'єкт заголовку Headers.

Методи

Headers.append()
Додає нове значення до існуючого заголовка в об'єкті Headers, або додає заголовок якщо той не існує.
Headers.delete()
Видаляє заголовок з об'єкта Headers.
Headers.entries()
Повертає iterator, дозволяючи проводити через всі пари ключ/значення, що знаходяться в об'єкті.
Headers.forEach()
Виконує вказану функцію для кожного елементу масива.
Headers.get()
Повертає ByteString послідовність всіх значеннях заголовків об'єкта Headers з заданим іменем.
Headers.has()
Повертає логічне значення чи має обєкт Headers певний заголовок
Headers.keys()
Повертає iterator, що дозволяє вам пройтись по всім ключам пар ключ/значення, що містяться в об'єкті.
Headers.set()
Задає нове значення існуючого заголовку всередині об'єкта Headers, або додає заголовок, якщо той не існує.
Headers.values()
Повертає iterator, що дозволяє вам проходитись по всім значенням пар ключ/значення, які містяться в цьому об'єкті.

Нотатка:  Різниця між Headers.set() і Headers.append() в тому, що якщо вказаний заголовок уже існує і допускає багато значень, Headers.set() перезаписуватиме існуючі значення новим., тоді як Headers.append() буде додавати нове значення в кінець набору значень. Дивіться їх сторінки для прикладу кода.

Нотатка: Всі методи Headers видаватимуть помилку TypeError якщо ви спробуєте передати не Валідне ім'я заголовку. Операції зміни заголовку видаватимуть TypeError, якщо заголовок  незмінний Guard. У разі інших невдач, вийняток не виникатиме.

Нотатка: Коли значення Header повторюються вони автоматично сортуються в лексикографічному порядку і значення дубльованих заголовків комбінуються.

Застарілі методи

Headers.getAll()
Використовується для повернення масиву всіх значень заголовка з заданим іменем в об'єкті Headers ; цей метод - видалений із специфікації і натомість тепер Headers.get() повертає всі значення замість одного.

Приклади

В наступномуIn the following фрагменті ми створили новий заголовок, використавши конструктор Headers() constructor, додали новий заголовок за допомогою append(), потім повернули значення цього заголовку, використовуючи get():

var myHeaders = new Headers();

myHeaders.append('Content-Type', 'text/xml');
myHeaders.get('Content-Type') // should return 'text/xml'

Те ж можна досягнути передаванням масиву масивів чи літералу об'єкта до конструктора:

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

// or, using an array of arrays:
myHeaders = new Headers([
    ['Content-Type', 'text/xml']
]);

myHeaders.get('Content-Type') // should return 'text/xml'

Специфікація

Специфікація Статус Коментар
Fetch
The definition of 'Headers' in that specification.
Living Standard  

Підтримка браузерів

BCD tables only load in the browser

See also