Поверх какого протокола работает HTTP

Ответ

Протокол HTTP (HyperText Transfer Protocol) в своих классических версиях (1.0, 1.1, 2) работает поверх TCP (Transmission Control Protocol).

Почему TCP? TCP был выбран в качестве транспорта для HTTP, так как он гарантирует надежную, упорядоченную и безошибочную доставку данных между клиентом и сервером. Это критически важно для целостности веб-страниц, файлов и API-ответов.

  • HTTP использует стандартный порт 80.
  • HTTPS (HTTP Secure) использует порт 443 и добавляет слой шифрования TLS/SSL поверх TCP.

Пример низкоуровневого соединения (Python):

import socket

# Создаем TCP-сокет
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    # Подключаемся к веб-серверу по 80 порту
    s.connect(("example.com", 80))
    # Отправляем сырой HTTP GET-запрос
    s.sendall(b"GET / HTTP/1.1rnHost: example.comrnConnection: closernrn")
    # Получаем ответ
    response = s.recv(4096)
    print(response.decode('utf-8'))

Важное уточнение: Современный протокол HTTP/3 отходит от этой модели и работает поверх QUIC, который, в свою очередь, использует UDP для уменьшения задержек при установке соединения.