Перейти до основного вмісту

Протокол HTTP

Перед тим як користувач побачить вміст сайту на екрані, браузер робить запит на сервер, щоб отримати цей вміст. HTML-файл, зображення, стилі і скрипти приходять з сервера по HTTP протоколу - набору правил і домовленостей, що використовуються при передачі даних в мережі.

Loading html from the server

HyperText Transfer Protocol (протокол передачі гіпертексту) - широко розповсюджений протокол для передачі веб-ресурсів різних типів: html, css, javascript, зображень, аудіо та відео тощо.

HTTP ґрунтується на структурі клієнт-сервер і моделі запит-відповідь, в якій клієнтський застосунок ініціює з'єднання, формує запит і відправляє його на сервер, після чого сервер обробляє цей запит, формує відповідь і передає її назад клієнтові. Зв'язок між ними здійснюється за допомогою низки перемежованих HTTP-запитів і HTTP-відповідей.

Request and response cycle

Запит відбувається у кілька етапів:

  • DNS-запит - пошук найближчого DNS-сервера, щоб перетворити адресу (наприклад google.com) в її числове вираження, IP-адресу (74.125.87.99).
  • З'єднання - встановлення з'єднання з сервером за отриманою IP-адресою.
  • Передача даних - пересилання пакетів з клієнта на сервер.
  • Очікування відповіді - очікування, доки пакети даних дійдуть до сервера, він їх обробить і відповідь повернеться назад.
  • Отримання даних - пакети надійшли, можна отримувати з них дані.

Протокол HTTPS

HyperText Transfer Protocol Secure - це налаштування над протоколом HTTP, в якій всі повідомлення між клієнтом і сервером шифруються з метою підвищення безпеки. Забезпечує захист від атак, що базуються на прослуховуванні з'єднання. Дані передаються поверх криптографічних протоколів SSL або TLS.

http and https protocols

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

Цікаво

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

Додаткові матеріали