Какой транспортный протокол использует HTTPS: TCP или UDP?

Ответ

HTTPS (HyperText Transfer Protocol Secure) работает исключительно поверх TCP (Transmission Control Protocol).

Это обусловлено требованиями к надёжности и безопасности, которые TCP обеспечивает, а UDP — нет.

Почему именно TCP?


  1. Надёжность и Гарантия доставки: TCP гарантирует, что все пакеты данных будут доставлены получателю. Если пакет теряется, TCP автоматически запрашивает его повторную отправку. Это критически важно для целостности веб-страниц, API-ответов и других данных.



  2. Упорядоченная доставка: TCP обеспечивает, что пакеты будут собраны в правильной последовательности. Это необходимо, чтобы файл или HTML-страница были восстановлены в исходном виде.



  3. Установление соединения (Connection-Oriented): Перед обменом данными TCP выполняет "трёхэтапное рукопожатие" (three-way handshake), устанавливая надёжное соединение. Это соединение затем используется для TLS/SSL handshake, в ходе которого клиент и сервер договариваются о ключах шифрования. Этот процесс требует надёжного двустороннего канала.


Почему не UDP?

UDP (User Datagram Protocol) — это протокол без установки соединения и без гарантий доставки. Он отправляет пакеты ("датаграммы") и не заботится о том, дошли ли они, и в каком порядке. Хотя это делает его быстрее (идеально для VoIP, онлайн-игр, стриминга), он абсолютно не подходит для HTTPS, где потеря даже одного пакета может повредить TLS-запись или сделать документ нечитаемым.

Современная альтернатива: QUIC (HTTP/3)

Стоит отметить, что новый протокол HTTP/3 использует QUIC, который работает поверх UDP. Однако QUIC — это не просто "HTTPS поверх UDP". Он заново реализует многие механизмы TCP (контроль потока, надёжность, упорядоченность) прямо на уровне приложения, но делает это более эффективно и решает проблему блокировки "head-of-line blocking".