HTTP

HTTP — це протокол передавання гіпертексту, англійською Hypertext Transfer Protocol. Саме за його правилами браузер і вебсервер обмінюються запитами та відповідями, коли ви відкриваєте сторінку, завантажуєте зображення або надсилаєте дані форми. У веброзробці HTTP визначає, як клієнт звертається до ресурсу і як сервер повертає потрібний вміст.

Як працює обмін

Модель HTTP побудована як послідовність «запит — відповідь». Клієнт надсилає запит із вказівкою ресурсу, методу звернення та додатковими даними, а сервер повертає статус, заголовки й тіло відповіді. Протокол не зберігає стан між окремими запитами, тому кожне звернення розглядається окремо, якщо розробник не додає механізми сесій, cookies або токени.

  • Методи показують намір запиту: отримати дані, створити, змінити або видалити ресурс.
  • Заголовки передають службову інформацію: тип вмісту, кодування, кешування, автентифікацію.
  • Статус-код у відповіді повідомляє, чи запит виконано успішно, чи сталася помилка, чи потрібне перенаправлення.

Де використовується в розробці

HTTP лежить в основі роботи вебсайтів, REST API, мобільних клієнтів, інструментів інтеграції та сервісів, що працюють через браузер. Через нього передають не лише HTML-сторінки, а й JSON, файли, зображення, відео та інші ресурси. Для розробника це базовий спосіб організувати взаємодію між фронтендом, бекендом і сторонніми сервісами.

Що важливо знати

Протокол простий у використанні, але має свої обмеження: сам по собі він не шифрує трафік і не гарантує збереження попереднього стану. Для захищеного передавання даних застосовують HTTPS, тобто HTTP поверх TLS. Також у практиці важливо розуміти кешування, редиректи, заголовки безпеки та коректний вибір методів, щоб поведінка сервера була передбачуваною.

Невеликий приклад

Коли ви відкриваєте сторінку товару в інтернет-магазині, браузер надсилає HTTP-запит до сервера, а той повертає HTML із описом товару, стилями, скриптами та зображеннями. Якщо натиснути кнопку «Купити», може піти ще один запит — уже з даними форми або викликом API.

HTTP