--- title: Заголовки slug: Web/API/Headers tags: - API - Fetch - Fetch API - Headers - Інтерфейс - Заголовки translation_of: Web/API/Headers ---
{{ APIRef("Fetch") }}

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

З метою безпеки деякі заголовки можуть контролюватись тільки за допомогою user agent. Ці заголовки включають: {{Glossary("Forbidden_header_name", "forbidden header names", 1)}}  і {{Glossary("Forbidden_response_header_name", "forbidden response header names", 1)}}.

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

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

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

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

Конструктор

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

Методи

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

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

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

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

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

{{domxref("Headers.getAll()")}}
Використовується для повернення масиву всіх значень заголовка з заданим іменем в об'єкті Headers ; цей метод - видалений із специфікації і натомість тепер {{domxref("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'

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

Специфікація Статус Коментар
{{SpecName('Fetch','#headers-class','Headers')}} {{Spec2('Fetch')}}  

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

{{Compat("api.Headers")}}

See also