Заголовки HTTP дозволяють клієнту та серверу відправляти доповнювальну інформацію за допомогою HTTP-запиту або відповіді. У HTTP-заголовок скаладається з назви (не чутлива до реєстру) та значення, яке передається через двокрапку (:). Пробіли перед значенням ігноруються.
Користувацькі власні заголовки історично використовувалися з префіксом X, але це застаріло ще з червня 2012 року через незручності, викликані тим, що нестандартні поля стали стандартом у RFC 6648; інші перераховані в реєстрі IANA, вихідний вміст, якого було визначено в RFC 4229. IANA також підтримує реєстр запропонованих нових заголовків HTTP.
HTTP-заголовки супроводжують обмін даними по протоколу HTTP. Вони можуть містити опис даних та інформацію, необхідну для взаємодії між клієнтом і сервером. Заголовки та їх статуси включені в реєстр IANA, який постійно оновлюється.
Основні групи HTTP заголовків
Заголовки HTTP поділяють на такі групи:
- Основні заголовки – застосовуються як до запитів, так і до відповідей, але не має стосунку до даних, переданих у тілі.
- Заголовки запиту – містять більше інформації про ресурс, який потрібно отримати, або про клієнта, який запитує ресурс.
- Заголовки відповіді – містять додаткову інформацію про відповідь, наприклад, його місцерозташування, або про сервер, який його надав.
- Заголовки сутності – містять інформацію про тіло ресурсу, наприклад, його довжину, вміст або тип MIME.
HTTP заголовки залежно від обробки проксі
Заголовки також можуть бути груповані відповідно до того, як проксі (довірені особи) обробляють їх:
- Connection – визначає, чи мережне з'єднання залишається активним після завершення поточної транзакції (запиту). Якщо в запиті надіслано значення keep-alive, з'єднання залишається і не завершується, дозволяючи виконувати наступні запити на той же сервер.
- Keep-Alive – дозволяє відправнику підказувати, як з’єднання може використовуватися для встановлення тайм-ауту та максимальної кількості запитів.
- Proxy-Authenticate – визначає метод аутентифікації, який слід використовувати для отримання доступу до ресурсу за проксі-сервером. Він аутентифікує запит до проксі-сервера, дозволяючи йому передавати запит далі.
- Proxy-Authorization – містить облікові дані для автентифікації агента користувача на проксі-сервері, зазвичай після того, як сервер відповів статусом і заголовком.
- TE – визначає кодування передачі, яку користувальницький агент готовий прийняти (ви можете неформально назвати це Accept-Transfer-Encoding, що було б більш інтуїтивно зрозумілим).
- Trailer – дозволяє відправникові включати додаткові поля в кінці розділених повідомлень, щоб надати метадані, які можуть динамічно генеруватися під час надсилання тіла повідомлення, наприклад перевірка цілісності повідомлення, цифровий підпис або статус постобробки.
- Transfer-Encoding – визначає форму кодування, яка використовується для безпечної передачі тіла корисного навантаження користувачеві.
- Upgrade – можна використовувати для оновлення вже встановленого з’єднання клієнт/сервер до іншого протоколу (через той самий транспортний протокол). Наприклад, клієнт може використовувати його для оновлення з’єднання з HTTP 1.1 до HTTP 2.0 або з’єднання HTTP або HTTPS до WebSocket.
Наскрізні заголовки (End-to-end headers)
Ці заголовки мають бути передані кінцевому одержувачу повідомлення: серверу для запиту або клієнту відповіді. Проміжні проксі сервери повинні повторно передавати ці заголовки без змін, а кеші повинні їх зберігати.
Хоп-хоп заголовки (Hop-by-hop headers)
Ці заголовки мають сенс тільки для одного з'єднання транспортного рівня і не повинні передаватися проксі або кешуватися. Зверніть увагу, що за допомогою загального заголовка Connection можуть бути встановлені лише заголовки переходів.
HTTP заголовки аутентифікації
- WWW-Authenticate – визначає метод автентифікації, який має використовуватись для доступу до ресурсу. Містить облікові дані для автентифікації агента користувача на сервері.
- Proxy-Authenticate – визначає метод автентифікації, який має використовуватись для доступу до ресурсів на проксі-сервері.
- Proxy-Authorization – містить облікові дані для автентифікації агента користувача з проксі-сервером.
- Authorization – включає дані користувача для перевірки автентичності користувача агента з сервером зазвичай після того, як сервер відповів зі статусом і заголовком WWW-Authenticate.
Нижче перераховані основні HTTP-заголовки з коротким описом:
- Accept – вказує, які типи контенту, виражені як MIME типи клієнт може зрозуміти. Використовуючи узгодження контенту, сервер потім вибирає одну з пропозицій, використовує його та інформує клієнта про свій вибір за допомогою заголовка відповіді Content-Type.
- Accept-CH – може бути встановлений сервером, щоб вказати, які заголовки клієнтських підказок клієнт повинен включити в наступні запити. Цей заголовок застарів та не рекомендується до використання.
- Accept-CH-Lifetime – встановлюється сервером, щоб указати постійність заголовків підказок клієнта, визначених за допомогою Accept-CH, які клієнт повинен включити в наступні запити. Цей заголовок застарів та не рекомендується до використання.
- Accept-Charset – повідомляє, яке кодування клієнт може зрозуміти. Використовуючи узгодження контенту, сервер вибирає один із запропонованих варіантів, використовує його та інформує клієнт про свій вибір у заголовку відповіді Content-Type. Браузер зазвичай встановлює цей заголовок, оскільки значення за замовчуванням для кожного контентного типу зазвичай коректне і передача його дозволить з більшою легкістю отримати цифровий відбиток.
- Accept-Encoding – вказує на кодування вмісту (зазвичай це алгоритм стиснення), яке клієнт може зрозуміти. Сервер використовує узгодження вмісту, щоб вибрати одну з пропозицій і інформує клієнта про цей вибір за допомогою заголовка відповіді Content-Encoding.
- Accept-Language – повідомляє серверу, які мови клієнт розуміє і яка локаль краще (маються на увазі природні мови, такі як українська чи англійська, а не мови програмування).
- Accept-Patch – показує, який медіа-тип розуміє сервер усередині запиту PATCH.
- Accept-Post – повідомляє, які медіа-типи прийняті сервером для HTTP-запитів. Accept-Post у відповідь на будь-який метод означає, що POST дозволено на запитуваному ресурсі (будь-який формат документа/медіа в заголовку додатково вказує, що формат документа дозволений).
- Accept-Ranges – це маркер, який використовує сервер, щоб повідомити клієнта про підтримку "запитів частинами". Його значення вказує на одиницю вимірювання, яка може бути використана для визначення діапазону читання. За наявності заголовка Accept-Ranges браузер може спробувати відновити перерване завантаження, а не запускати його з самого початку.
- Access-Control-Allow-Credentials – вказує браузерам, чи надавати відповідь зовнішньому коду JavaScript, коли режим облікових даних запиту (Request.credentials) має значення include.
- Access-Control-Allow-Headers – використовується у відповідь на запит перед друком, щоб вказати, які заголовки HTTP можна використовувати під час фактичного запиту.
- Access-Control-Allow-Methods – це заголовок відповіді, який визначає метод чи методи доступу до ресурсів запиту перед друком.
- Access-Control-Allow-Origin – показує, чи відповідь сервера може бути доступний коду, що надсилає запит з даного джерела origin .
- Access-Control-Expose-Headers – дозволяє серверу вказати, які заголовки відповіді мають бути доступні для сценаріїв, запущених у браузері, у відповідь на запит між джерелами.
- Access-Control-Max-Age – повідомляє браузеру наскільки попередній запит (ця інформація міститься в заголовках Access-Control-Allow-Methods і Access-Control-Allow-Headers) може бути кешований і опущений при запитах до сервера.
- Access-Control-Request-Headers – використовується браузерами під час надсилання запиту перед друком, щоб повідомити серверу, які заголовки HTTP клієнт може надіслати під час фактичного запиту (наприклад, за допомогою setRequestHeader()). Додатковий заголовок на стороні сервера Access-Control-Allow-Headers відповідатиме на цей заголовок на стороні браузера.
- Access-Control-Request-Method – використовується браузерами під час надсилання запиту перед друком, щоб повідомити серверу, який метод HTTP буде використано під час фактичного запиту. Цей заголовок необхідний, оскільки запит перед друком завжди є OPTIONS і не використовує той самий метод, що й фактичний запит.
- Age – містить час у секундах, протягом якого об’єкт був у кеші проксі.
- Allow – містить список методів, які підтримує ресурс.
- Alt-Svc – дозволяє серверу вказувати, що інше мережеве розташування ("альтернативна служба") може розглядатися як авторитетне для цього джерела під час виконання майбутніх запитів.
- Authorization – включає дані користувача для перевірки автентичності користувача агента з сервером зазвичай після того, як сервер відповів зі статусом 401 Unauthorized і заголовком WWW-Authenticate.
- Cache-Control – використовується для встановлення інструкцій кешування як запитів, так відповідей. Інструкції кешування односпрямовані: задана інструкція у запиті не передбачає, що така ж інструкція буде вказана у відповіді.
- Clear-Site-Data – очищає дані веб-перегляду (файли cookie, сховище, кеш), пов’язані з веб-сайтом, який запитує. Це дозволяє веб-розробникам мати більше контролю над даними, які зберігаються браузером клієнта для їх походження.
- Connection – визначає, чи мережне з'єднання залишається активним після завершення поточної транзакції (запиту). Якщо у запиті надіслано значення keep-alive, то з'єднання залишається і не завершується, дозволяючи виконувати наступні запити на той самий сервер.
- Content-Disposition – є індикатором того, що очікуваний контент відповіді буде відображатися в браузері, як веб-сторінка або частина веб-сторінки, або як вкладення, яке потім може бути завантажено та збережено локально.
- Content-DPR – використовується для підтвердження співвідношення пристрою зображення до пікселів у запитах, у яких для вибору ресурсу зображення використовувалася підказка клієнта екрана. Цей заголовок застарів та не рекомендується до використання.
- Content-Encoding – сутність заголовка, що використовується для стиснення медіа-типу. За наявності її значення визначає кодування, застосоване до сутності body. Це дозволяє клієнту отримати інформацію як декодувати body, щоб отримати медіа-тип, що посилається на заголовок Content-Type.
- Content-Language – використовується для опису мов контенту доступних для аудиторії, дозволяючи таким чином користувачеві вибрати мову відповідно до своїх уподобань.
- Content-Length – вказує розмір надісланого одержувачу тіла об'єкта в байтах.
- Content-Location – вказує на альтернативне розташування повернутих даних. Основним використанням є вказівка URL-адреси ресурсу, переданого в результаті узгодження вмісту.
- Content-Range – вказує, де в повному тексті повідомлення належить частина повідомлення.
- Content-Security-Policy – дозволяє адміністраторам веб-сайту контролювати ресурси, які агент користувача може завантажувати для певної сторінки. За кількома винятками, політики здебільшого передбачають визначення джерел серверів і кінцевих точок сценаріїв. Це допомагає захиститися від атак міжсайтових сценаріїв (Cross-site_scripting).
- Content-Security-Policy-Report-Only – дозволяє веб-розробникам експериментувати з політикою, відстежуючи її вплив. Ці звіти про порушення складаються з документів JSON, надісланих через HTTP POST-запит на вказаний URL.
- Content-Type – повідомляє клієнту, який буде тип контенту, що передається.
- Cookie – містить збережені файли cookie HTTP, пов’язані з сервером (тобто раніше надіслані сервером із заголовком Set-Cookie або встановлені в Javascript за допомогою Document.cookie).
- Cross-Origin-Embedder-Policy – запобігає завантаженню документом будь-яких ресурсів різних джерел, які явно не надають дозволу документу (за допомогою CORP або CORS).
- Cross-Origin-Opener-Policy – дозволяє гарантувати, що документ верхнього рівня не поділяє групу контексту перегляду з документами різних джерел.
- Cross-Origin-Resource-Policy – передає бажання, щоб браузер блокував запити no-cors cross-origin/crosssite до даного ресурсу.
- Date – містить дату і час, коли повідомлення було створено.
- Device-Memory – вказує приблизний обсяг доступної оперативної пам’яті на пристрої клієнта.
- Digest – надає дайджест вибраного представлення запитаного ресурсу.
- DNT – вказує чи дозволяє користувач відстежувати себе. Він дозволяє користувачу вказати, що вони віддають перевагу приватності персоніфікованому контенту, що готується з використанням відстеження.
- Downlink – містить приблизну пропускну здатність підключення клієнта до сервера в Мбіт/с.
- DPR – надає співвідношення пікселів клієнтського пристрою. Це співвідношення — це кількість пікселів фізичного пристрою, що відповідає кожному пікселю CSS. Цей заголовок застарів та не рекомендується до використання.
- Early-Data – встановлюється посередником, щоб вказати, що запит було передано в ранніх даних TLS , а також вказує, що посередник розуміє 425 (Too Early) код статусу.
- ECT – вказує ефективний тип з’єднання: slow-2g, 2g, 3g, 4g.
- ETag – є ідентифікатор специфічної версії ресурсу. Він дозволяє більш ефективно використовувати кеш і зберігає пропускну здатність, дозволяючи серверу відправляти не всю відповідь, якщо вміст не змінився. З іншого боку, якщо контент таки змінився, Etag допомагає запобігти одночасному оновлення ресурсу від перезапису один одного ("повітряна колізія").
- Expect – вказує на очікування, які повинен виконати сервер, щоб правильно обробити запит.
- Expect-CT – дозволяє сайтам увімкнути звітування та/або виконання вимог щодо прозорості сертифікатів, щоб запобігти непоміченню використання неправильно виданих сертифікатів для цього сайту.
- Expires – містить дату/час, після якого відповідь сервера вважається застарілим. Минула чи невалідна дата, наприклад 0, означає, що ресурс вже застарів.
- Feature-Policy – забезпечує механізм дозволу та заборони використання функцій браузера у його власному кадрі та у вмісті будь-яких <iframe> елементів у документі.
- Forwarded – містить інформацію, яка може бути додана зворотними проксі-серверами (балансувальники навантаження, CDN тощо), яка інакше була б змінена або втрачена, коли проксі-сервери задіяні на шляху запиту.
- From – містить адресу електронної пошти в Інтернеті для користувача-людини, який керує агентом користувача, який запитує.
- Host – містить ім'я домену, для якого призначено запит і, опціонально, номер порту.
- If-Match – робить запит умовним. Для методів GET і HEAD сервер відправляє запитаний ресурс лише у тому випадку, якщо він відповідає одному з перерахованих ETag.
- If-Modified-Since – робить запит умовним: сервер відправить назад запитаний ресурс зі статусом 200, тільки якщо його було змінено після вказаної дати. Якщо запит не було змінено після вказаної дати, відповідь буде 304 без будь-якого значення; заголовок Last-Modifiedпри цьому міститиме дату останньої модифікації.
- If-None-Match – робить запит умовним. Для методів GET і HEAD сервер поверне запитуваний ресурс із 200 статусом, лише якщо він не має ETag, який відповідає заданим. Для інших методів запит буде оброблено, лише якщо остаточно існуючий ресурс ETag не відповідає жодному зі значень у списку.
- If-Range – обумовлює запит діапазону: якщо умова виконується, запит діапазону видається, і сервер надсилає відповідь із відповідним тілом 206 (Partial Content). Якщо умова не виконується, весь ресурс повертається зі статусом 200 (OK).
- If-Unmodified-Since – робить запит умовним: сервер відправить назад запитаний ресурс або прийме його у разі POST або іншого небезпечного методу, тільки якщо він не був останнім змінений після вказаної дати. Якщо запит було змінено після вказаної дати, відповідь буде код помилки 412 (Precondition Failed).
- Keep-Alive – дозволяє відправнику натякнути на те, як можна використовувати з’єднання для встановлення часу очікування та максимальної кількості запитів.
- Large-Allocation – повідомляє браузеру, що сторінка, яка завантажується, захоче виконати великий розподіл. Він не реалізований у поточних версіях жодного браузера, але нешкідливий для надсилання в будь-який браузер.
- Last-Modified – містить дату і час, у яку, на думку віддаленого сервера, запитуваний ресурс було змінено. Він використовується як засіб перевірки визначення того, чи залишився ресурс незмінним. Цей заголовок менш надійний, ніж заголовок ETag і використовується як резервний механізм.
- Link – надає засоби для серіалізації одного або кількох посилань у заголовках HTTP. Він семантично еквівалентний тегу <link> в HTML.
- Location – вказує URL-адресу, на яку потрібно переспрямувати сторінку. Він надає значення лише тоді, коли подається з відповіддю про статус 3xx(переспрямування) або 201(створено).
- NEL – використовується для налаштування протоколювання мережевих запитів.
- Origin – показує, звідки буде завантажуватися. Він не включає будь-яку інформацію про шлях, містить в собі лише ім'я сервера. Заголовок надсилається як з CORS , так і з POSTзапитами. Він нагадує заголовок Referer, але, на відміну цього заголовка, не розкриває весь шлях.
- Pragma – використовується для зворотної сумісності з кешами HTTP/1.0, де заголовок Cache-ControlHTTP/1.1 ще не присутній. Використовуйте Pragmaлише для зворотної сумісності з клієнтами HTTP/1.0.
- Proxy-Authenticate – визначає метод автентифікації, який варто використовувати для отримання доступу до ресурсу за проксі-сервером. Він автентифікує запит на проксі-сервері, дозволяючи йому передавати запит далі.
- Proxy-Authorization – містить облікові дані для автентифікації агента користувача на проксі-сервері, як правило, після того, як сервер відповів статусом 407 (Proxy Authentication Required) і заголовком Proxy-Authenticate.
- Range – вказує серверу, яку частину документа йому необхідно повернути. Декілька частин документа може бути запитано за допомогою заголовка Rangeза один раз, і сервер може повернути всі ці частини через багатокомпонентний документ.
- Referer – містить URL-адресу вихідної сторінки, з якої було здійснено перехід на поточну сторінку. Заголовок Refererдозволяє серверу дізнатися, звідки був здійснений перехід на сторінку, що запитується.
- Referrer-Policy – контролює, скільки інформації про реферера (надсилається разом із заголовком Referer) має бути включено до запитів. Окрім заголовка HTTP, цю політику можна встановити в HTML.
- Retry-After – показує, як довго клієнт повинен почекати перед запитом.
- RTT – містить приблизний час проходження на прикладному рівні в мілісекундах. Підказка RTT, на відміну від RTT транспортного рівня, включає час обробки сервером.
- Save-Data – є логічним значенням, яке вказує на перевагу клієнта щодо зменшення використання даних. Це може бути з таких причин, як висока вартість передачі, низька швидкість з’єднання тощо.
- Sec-CH-UA – надає важливу інформацію про бренд агента користувача та його версію.
- Sec-CH-UA-Arch – надає базову архітектуру ЦП агента користувача, наприклад ARM або x86.
- Sec-CH-UA-Bitness – надає «розрядність» основної архітектури ЦП агента користувача. Це розмір цілого числа або адреси пам’яті в бітах — зазвичай 64 або 32 біти.
- Sec-CH-UA-Full-Version – надає рядок повної версії агента користувача.
- Sec-CH-UA-Full-Version-List – надає інформацію про бренд користувача та інформацію про повну версію.
- Sec-CH-UA-Mobile – вказує, чи веб-переглядач знаходиться на мобільному пристрої. Він також може використовуватися настільним браузером, щоб вказати перевагу «мобільного» досвіду користувача.
- Sec-CH-UA-Model – вказує на модель пристрою, на якому запущено браузер.
- Sec-CH-UA-Platform – передає назву платформи або операційної системи, на якій працює агент користувача.
- Sec-CH-UA-Platform-Version – містить версію операційної системи, на якій працює агент користувача.
- Sec-Fetch-Dest – вказує на призначення запиту . Це ініціатор початкового запиту на вибірку, де (і як) будуть використовуватися отримані дані.
- Sec-Fetch-Mode – вказує на режим запиту.
- Sec-Fetch-Site – вказує на зв’язок між походженням ініціатора запиту та джерелом запитуваного ресурсу.
- Sec-Fetch-User – надсилається лише для запитів, ініційованих активацією користувача, і його значення завжди буде ?1. Сервер може використовувати цей заголовок, щоб визначити, чи був запит на навігацію з документа, iframe тощо, створений користувачем.
- Sec-WebSocket-Accept – надсилається від сервера до клієнта, щоб повідомити, що сервер бажає ініціювати з’єднання через WebSocket.
- Server – описує програмне забезпечення, яке використовується вихідним сервером, який обробив запит, тобто сервером, який згенерував відповідь.
- Server-Timing – передає один або більше показників і описів для заданого циклу запит-відповідь.
- Service-Worker-Navigation-Preload – вказує на те, що запит був результатом fetch()операції, виконаної під час попереднього завантаження навігації Service Worker. Це дозволяє серверу відповідати іншим ресурсом, ніж для звичайного fetch().
- Set-Cookie – використовується для надсилання cookies із сервера на агент користувача.
- SourceMap – зв’язує згенерований код із картою джерела, дозволяючи браузеру реконструювати оригінальне джерело та представити реконструйований оригінал у налагоджувачі.
- Strict-Transport-Security – дозволяє web-сайтам повідомити браузер про те, що доступ до них повинен бути здійснений лише за допомогою HTTPS замість HTTP.
- TE – визначає кодування передачі, яке готовий прийняти агент користувача.
- Timing-Allow-Origin – вказує джерела, яким дозволено переглядати значення атрибутів, отриманих за допомогою функцій Resource Timing API , які інакше були б нульовими через обмеження між джерелами.
- Tk – вказує статус відстеження, який застосовано до відповідного запиту. Цей заголовок застарів та не рекомендується до використання.
- Trailer – дозволяє відправнику включати додаткові поля в кінці розділених повідомлень, щоб надавати метадані, які можуть динамічно генеруватися під час надсилання тіла повідомлення, як-от перевірка цілісності повідомлення, цифровий підпис або статус пост-обробки.
- Transfer-Encoding – визначає форму кодування, яка використовується для безпечної передачі тіла корисного навантаження користувачеві.
- Upgrade – можна використовувати для оновлення вже встановленого з’єднання клієнт/сервер до іншого протоколу (через той самий транспортний протокол). Наприклад, клієнт може використовувати його для оновлення з’єднання з HTTP 1.1 до HTTP 2.0 або з’єднання HTTP чи HTTPS у WebSocket.
- Upgrade-Insecure-Requests – надсилає сигнал серверу, виражаючи перевагу клієнта щодо зашифрованої та автентифікованої відповіді та про те, що він може успішно обробити директиву upgrade-insecure-requests CSP.
- User-Agent – це рядок з характеристиками, за якими сервери та мережеві вузли можуть визначити тип програми, операційну систему, виробника та/або версію користувача агента.
- Vary – визначає, як зіставити майбутні заголовки запиту, щоб вирішити, чи можна використовувати кешований відповідь, а чи не вимагати новий з вихідного сервера. Він використовується сервером для вказівки того, які заголовки він використовував при виборі представлення ресурсу алгоритму узгодження контенту.
- Via – використовується для відстеження пересилання повідомлень, уникнення циклів запитів і ідентифікації можливостей протоколу відправників у ланцюжку запит/відповідь.
- Viewport-Width – надає ширину вікна перегляду макета клієнта в пікселях CSS. Значення округлюється до найменшого наступного цілого числа (тобто максимального значення). Цей заголовок застарів та не рекомендується до використання.
- Want-Digest – використовується в запиті, щоб попросити сервер надати дайджест запитаного ресурсу за допомогою заголовка відповіді Digest.
- Warning – містить інформацію про можливі проблеми зі статусом повідомлення.
- Width – вказує бажану ширину ресурсу у фізичних пікселях — власний розмір зображення. Надане значення пікселів є числом, округленим до найменшого наступного цілого числа (тобто максимального значення).
- WWW-Authenticate – визначає методи автентифікації HTTP («виклики»), які можуть бути використані для отримання доступу до певного ресурсу.
- X-Content-Type-Options – використовується сервером для вказівки того, що типи MIME, оголошені в заголовках Content-Type, повинні дотримуватися і не змінюватися.
- X-DNS-Prefetch-Control – керує попередньою вибіркою DNS, функцією, за допомогою якої веб-переглядачі завчасно розпізнають імена доменів як за посиланнями, за якими користувач може перейти, так і за URL-адресами для елементів, на які посилається документ, включаючи зображення, CSS, JavaScript тощо.
- X-Forwarded-For – є де-факто стандартним заголовком для ідентифікації походження IP-адреси клієнта, що підключається до веб-сервера через HTTP-проксі або балансувальник навантаження. Коли трафік перехоплюється між клієнтами та серверами, журнали доступу до сервера містять лише IP-адресу проксі-сервера або балансування навантаження. Щоб побачити оригінальну IP-адресу клієнта, використовується заголовок запиту X-Forwarded-For.
- X-Forwarded-Host – це фактично стандартний заголовок для ідентифікації оригінального хосту, запитуваного клієнтом, у Host заголовку запиту HTTP.
- X-Forwarded-Proto – це фактично стандартний заголовок для визначення протоколу (HTTP або HTTPS), який використовував клієнт для підключення до вашого проксі-сервера або балансувальника навантаження.
- X-Frame-Options – можна використовувати, щоб вказати, чи має бути дозволено веб-переглядачу відображати сторінку в <frame>, <iframe>, <embed> або <object>. Сайти можуть використовувати це, щоб уникнути атак зловмисників, гарантуючи, що їх вміст не вбудовано в інші сайти.
- X-XSS-Protection – це особливість Internet Explorer, Chrome та Safari, яка зупиняє завантаження сторінок при виявленні XSS атаки. Хоча ці заходи захисту не потрібні в більшості випадків для сучасних браузерів, коли сайти впроваджують сильну безпекову політику контенту Content-Security-Policy, яка відключає використання вбудованого JavaScript ('unsafe-inline'), вони можуть забезпечити захист для користувачів, які використовують застарілі версії браузерів, які не підтримують CSP.