Протокол HTTP
Перед тим як користувач побачить вміст сайту на екрані, браузер робить запит на сервер, щоб отримати цей вміст. HTML-файл, зображення, стилі і скрипти приходять з сервера по HTTP протоколу - набору правил і домовленостей, що використовуються при передачі даних в мережі.
HyperText Transfer Protocol (протокол передачі гіпертексту) - широко розповсюджений протокол для передачі веб-ресурсів різних типів: html, css, javascript, зображень, аудіо та відео тощо.
HTTP ґрунтується на структурі клієнт-сервер і моделі запит-відповідь, в якій клієнтський застосунок ініціює з'єднання, формує запит і відправляє його на сервер, після чого сервер обробляє цей запит, формує відповідь і передає її назад клієнтові. Зв'язок між ними здійснюється за допомогою низки перемежованих HTTP-запитів і HTTP-відповідей.
Запит відбувається у кілька етапів:
- DNS-запит - пошук найближчого DNS-сервера, щоб перетворити адресу (наприклад
google.com
) в її числове вираження, IP-адресу (74.125.87.99). - З'єднання - встановлення з'єднання з сервером за отриманою IP-адресою.
- Передача даних - пересилання пакетів з клієнта на сервер.
- Очікування відповіді - очікування, доки пакети даних дійдуть до сервера, він їх обробить і відповідь повернеться назад.
- Отримання даних - пакети надійшли, можна отримувати з них дані.
Протокол HTTPS
HyperText Transfer Protocol Secure - це налаштування над протоколом HTTP, в якій всі повідомлення між клієнтом і сервером шифруються з метою підвищення безпеки. Забезпечує захист від атак, що базуються на прослуховуванні з'єднання. Дані передаються поверх криптографічних протоколів SSL або TLS.
Під час обміну через звичайне HTTP-з'єднання всі дані передаються у вигляді тексту і можуть бути прочитані усіма, хто отримав доступ до з'єднання між клієнтом і сервером. Якщо користувачі роблять покупки онлайн і заповнюють форму замовлення, що містить інформацію про кредитну картку, їхні фінансові дані набагато легше викрасти, якщо вони передаються у вигляді тексту. З HTTPS дані будуть зашифровані і хакер не зможе їх розшифрувати, тому що для розшифрування необхідний доступ до закритого ключа, який зберігається на сервері.
Протокол HTTPS гарантує, що інформація про клієнта, наприклад номери кредитних карток, зашифрована і не може бути перехоплена в розшифрованому вигляді. Відвідувачі можуть переконатися, що сайт безпечний, подивившись на іконку зліва від адресного рядка, захищені з'єднання позначаються іконкою замка.