HTTP: Протокол передачи гипертекста
HTTP (Hypertext Transfer Protocol) — протокол передачи гипертекста. Термин «гипертекст» означает систему текстовых страниц со ссылками друг на друга, аналогично энциклопедиям или словарям. В современном контексте гипертекст — любая веб-страница, где ссылки (гиперссылки) обеспечивают навигацию.
HTTP передает гипертекст с гиперссылками, представляющими собой URL (Uniform Resource Locator) — унифицированный указатель ресурса — путь к файлу в интернете. Это осуществляется посредством TCP-сессии на порту 80. Веб-страницы написаны на языке разметки HTML (Hypertext Markup Language).
HTTP — клиент-серверный протокол. Клиент (браузер пользователя) запрашивает данные у сервера (например, сервер YouTube), отправляя HTTP-запрос. В ответ сервер возвращает данные, например, HTML-страницу с видео.
Структура HTTP-сообщения
HTTP-сообщение состоит из трёх частей:
- Стартовая строка: содержит URL и метод запроса (например, GET, POST, PUT, HEAD, DELETE). Метод GET запрашивает данные, а POST, например, отправляет данные на сервер (как при нажатии кнопки «лайк»).
- Заголовки: параметры, описывающие запрос или тело сообщения (информация о браузере, языке, авторизации и т. д.).
- Тело сообщения: данные, передаваемые в запросе (например, текст комментария) или получаемые от сервера (страница с видео).
HTTP передает данные в открытом виде, как обычный текст. Это делает их уязвимыми для перехвата злоумышленниками.
HTTPS: Безопасный протокол передачи гипертекста
Из-за уязвимости HTTP был разработан HTTPS (Hypertext Transfer Protocol Secure), использующий шифрование для безопасной передачи данных. «S» в HTTPS означает «Secure» — защищённый.
HTTPS использует механизмы SSL (Secure Sockets Layer) и TLS (Transport Layer Security) для шифрования.
SSL/TLS: обеспечение безопасности
При подключении к сайту с HTTPS:
- Клиент запрашивает у сайта его SSL-сертификат, подтверждающий его идентичность.
- Браузер проверяет сертификат, выданный центром сертификации, который гарантирует подлинность сайта.
- При подтверждении подлинности начинается обмен шифрованными данными.
TLS — это обновлённая версия SSL; сейчас чаще используется TLS 1.2 и 1.3, старые версии считаются небезопасными.
HTTPS: современный стандарт безопасности
HTTPS стал стандартом; многие браузеры отображают предупреждения при переходе на сайты без HTTPS. Поисковые системы, такие как Google, понижают сайты без HTTPS в поисковой выдаче.
Уровень работы протоколов
Протоколы HTTP и HTTPS работают на транспортном уровне модели OSI (подробности — в [ссылка на видео про модель OSI]).
HTTP и HTTPS — фундаментальные протоколы интернета. HTTPS обеспечивает безопасность, шифруя передаваемые данные, и стал необходимым для безопасной работы в интернете. Использование сайтов без HTTPS небезопасно.