HTTP vs HTTPS: разница и как работают протоколы

HTTP: Протокол передачи гипертекста

HTTP (Hypertext Transfer Protocol) — протокол передачи гипертекста. Термин «гипертекст» означает систему текстовых страниц со ссылками друг на друга, аналогично энциклопедиям или словарям. В современном контексте гипертекст — любая веб-страница, где ссылки (гиперссылки) обеспечивают навигацию.

HTTP передает гипертекст с гиперссылками, представляющими собой URL (Uniform Resource Locator) — унифицированный указатель ресурса — путь к файлу в интернете. Это осуществляется посредством TCP-сессии на порту 80. Веб-страницы написаны на языке разметки HTML (Hypertext Markup Language).

HTTP — клиент-серверный протокол. Клиент (браузер пользователя) запрашивает данные у сервера (например, сервер YouTube), отправляя HTTP-запрос. В ответ сервер возвращает данные, например, HTML-страницу с видео.

Структура HTTP-сообщения

HTTP-сообщение состоит из трёх частей:

  1. Стартовая строка: содержит URL и метод запроса (например, GET, POST, PUT, HEAD, DELETE). Метод GET запрашивает данные, а POST, например, отправляет данные на сервер (как при нажатии кнопки «лайк»).
  2. Заголовки: параметры, описывающие запрос или тело сообщения (информация о браузере, языке, авторизации и т. д.).
  3. Тело сообщения: данные, передаваемые в запросе (например, текст комментария) или получаемые от сервера (страница с видео).

HTTP передает данные в открытом виде, как обычный текст. Это делает их уязвимыми для перехвата злоумышленниками.

HTTPS: Безопасный протокол передачи гипертекста

Из-за уязвимости HTTP был разработан HTTPS (Hypertext Transfer Protocol Secure), использующий шифрование для безопасной передачи данных. «S» в HTTPS означает «Secure» — защищённый.

HTTPS использует механизмы SSL (Secure Sockets Layer) и TLS (Transport Layer Security) для шифрования.

SSL/TLS: обеспечение безопасности

При подключении к сайту с HTTPS:

  1. Клиент запрашивает у сайта его SSL-сертификат, подтверждающий его идентичность.
  2. Браузер проверяет сертификат, выданный центром сертификации, который гарантирует подлинность сайта.
  3. При подтверждении подлинности начинается обмен шифрованными данными.

TLS — это обновлённая версия SSL; сейчас чаще используется TLS 1.2 и 1.3, старые версии считаются небезопасными.

HTTPS: современный стандарт безопасности

HTTPS стал стандартом; многие браузеры отображают предупреждения при переходе на сайты без HTTPS. Поисковые системы, такие как Google, понижают сайты без HTTPS в поисковой выдаче.

Уровень работы протоколов

Протоколы HTTP и HTTPS работают на транспортном уровне модели OSI (подробности — в [ссылка на видео про модель OSI]).

HTTP и HTTPS — фундаментальные протоколы интернета. HTTPS обеспечивает безопасность, шифруя передаваемые данные, и стал необходимым для безопасной работы в интернете. Использование сайтов без HTTPS небезопасно.

Что будем искать? Например,программа