Що таке HTTP-заголовки?
HTTP-заголовки (HTTP headers) - це службова інформація, яка передається в HTTP-запиті та HTTP-відповіді й допомагає клієнту та серверу правильно зрозуміти одне одного.
Простіше кажучи: HTTP-заголовки - це "пояснення" до запиту чи відповіді.
Навіщо потрібні HTTP-заголовки
Заголовки потрібні, щоб повідомити:
- які дані передаються
- у якому форматі
- як їх обробляти
- хто відправник
- чи потрібна авторизація
- чи можна кешувати відповідь
Без заголовків сервер і клієнт бачили б просто набір байтів і не розуміли б їхнього сенсу.
Де перебувають HTTP-заголовки
Заголовки є:
- в HTTP-запиті
- в HTTP-відповіді
Вони йдуть:
- після стартового рядка
- до тіла повідомлення (body)
Приклади HTTP-заголовків (прості й важливі)
Content-Type
Показує, які дані передаються:
text/htmlapplication/jsonimage/png
Сервер і клієнт розуміють, як інтерпретувати дані.
Authorization
Використовується для автентифікації:
- токени
- ключі доступу
Повідомляє серверу, хто робить запит.
Accept
Показує, які формати даних клієнт готовий приймати:
- JSON
- HTML
- XML
User-Agent
Інформація про клієнта:
- браузер
- операційна система
- застосунок
Cache-Control
Керує кешуванням:
- чи можна зберігати відповідь
- як довго вона актуальна
Заголовки запиту та відповіді
Заголовки запиту
Описують:
- клієнта
- формат запиту
- умови доступу
Приклад сенсу:
«Я браузер, хочу JSON, ось мій токен»
Заголовки відповіді
Описують:
- дані відповіді
- формат
- правила обробки
Приклад сенсу:
«Ось дані, це JSON, можеш кешувати 5 хвилин»
Що важливо пам'ятати для співбесіди
- заголовки - це не тіло запиту
- вони не містять основні дані
- вони керують поведінкою передавання
- один запит чи відповідь може мати багато заголовків
Приклад з життя
HTTP-заголовки - це як наклейки на посилці:
- «Крихке»
- «Обережно»
- «Терміново»
- «Куди доставити»
Сама посилка - це body, а наклейки - headers.
Коротка відповідь для співбесіди
Запам'ятай формулювання:
HTTP-заголовки - це службові поля HTTP-запиту та відповіді, які передають метаінформацію про дані, клієнта і правила обробки повідомлення.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.