Что такое HTTP
HTTP (HyperText Transfer Protocol) — это протокол, по которому браузер и сервер «разговаривают». Когда ты вводишь адрес сайта и нажимаешь Enter, браузер отправляет серверу HTTP-запрос: «Дай мне страницу /about». Сервер отвечает: «Вот она, код 200» (успех) или «Нет такой, код 404» (не найдено).
Аналогия: HTTP — это язык общения. Браузер — клиент, который заказывает блюдо. Сервер — кухня, которая его готовит и отдаёт. Протокол определяет, как именно формулировать заказ и получать ответ.
Структура HTTP-запроса
Запрос состоит из нескольких частей. Метод указывает, что нужно сделать. GET — получить данные (загрузить страницу). POST — отправить данные (форма регистрации). PUT — обновить данные. DELETE — удалить.
URL — адрес ресурса. Заголовки (headers) — дополнительная информация: тип браузера, тип данных, куки. Тело запроса (body) — данные формы при POST-запросе.
Сервер отвечает статусным кодом: 200 (OK), 301 (перенаправление), 404 (не найдено), 500 (ошибка сервера).
HTTP vs HTTPS: в чём разница
HTTP — незашифрованный протокол. Если ты вводишь пароль на HTTP-сайте, он передаётся в открытом виде. Любой, кто «слушает» сеть (провайдер, злоумышленник в кафе), может его прочитать.
HTTPS — тот же HTTP, но поверх TLS (Transport Layer Security, раньше называлось SSL). TLS шифрует всё соединение: даже если перехватить трафик, видно только бессмысленный набор байтов.
Как работает TLS: сервер предъявляет цифровой сертификат (выдаётся доверенным удостоверяющим центром), браузер проверяет его подлинность, затем стороны договариваются о ключе шифрования — и дальнейшая переписка зашифрована.
HTTP/2 и HTTP/3
HTTP/1.1 — оригинальный стандарт 1997 года. Проблема: один запрос за раз на одно соединение. Сайт с 50 ресурсами (картинки, стили, скрипты) отправлял 50 запросов по очереди.
HTTP/2 (2015) решил это: мультиплексирование — несколько запросов через одно соединение одновременно. Сайты стали загружаться значительно быстрее.
HTTP/3 (2022) заменил TCP на QUIC (протокол на базе UDP). Это ещё ускорило загрузку, особенно на нестабильных соединениях (мобильный интернет). Сегодня большинство крупных сайтов поддерживают HTTP/3.
