--- title: Заголовки slug: Web/API/Headers tags: - API - Fetch - Fetch API - Headers - Інтерфейс - Заголовки translation_of: Web/API/Headers ---
Інтерфейс 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.
Headers
.Headers
, або додає заголовок якщо той не існує.Headers
.Headers
з заданим іменем.Headers
певний заголовокHeaders
, або додає заголовок, якщо той не існує.Нотатка: Різниця між {{domxref("Headers.set()")}} і {{domxref("Headers.append()")}} в тому, що якщо вказаний заголовок уже існує і допускає багато значень, {{domxref("Headers.set()")}} перезаписуватиме існуючі значення новим., тоді як {{domxref("Headers.append()")}} буде додавати нове значення в кінець набору значень. Дивіться їх сторінки для прикладу кода.
Нотатка: Всі методи Headers видаватимуть помилку TypeError
якщо ви спробуєте передати не Валідне ім'я заголовку. Операції зміни заголовку видаватимуть TypeError,
якщо заголовок незмінний {{Glossary("Guard")}}. У разі інших невдач, вийняток не виникатиме.
Нотатка: Коли значення Header повторюються вони автоматично сортуються в лексикографічному порядку і значення дубльованих заголовків комбінуються.
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")}}