Сервер передаёт запрос Django через WSGI или ASGI, затем проходят middleware, выбор URL и вызов view. View формирует ответ, который проходит обратную цепочку middleware и возвращается клиенту.
HTTP/3 переносит HTTP на QUIC поверх UDP вместо TCP. Независимые потоки QUIC уменьшают блокировку одних запросов из-за потери данных другого потока; смысл HTTP-методов при этом сохраняется.
Для простого best-effort действия подходит BackgroundTasks, но важное регистрационное письмо лучше отправлять через долговечную очередь и worker. multiprocessing не решает надёжность доставки.
Если речь об отсутствии сторонних пакетов, используйте urllib.request из стандартной библиотеки. Без любых модулей Python не предоставляет полноценный встроенный HTTP-клиент.
Частые короткие TCP-соединения расходуют эфемерные порты и оставляют TIME_WAIT. Основное решение — reuse соединений и контроль нагрузки, а не бездумное уменьшение системных таймеров.
Для локальной раздачи файлов запустите python3 -m http.server 8000 --bind 127.0.0.1. Сервер будет доступен на localhost:8000 и не предназначен для production.
В классическом WebSocket-handshake поверх HTTP/1.1 запрос Upgrade инициирует клиент. Сервер принимает переход ответом 101 Switching Protocols либо отклоняет запрос.
WebSocket поддерживает длительный двусторонний канал сообщений. При HTTP long polling клиент держит запрос открытым до события или timeout, затем отправляет следующий.
HTTP 429 Too Many Requests означает превышение ограничения частоты или объёма запросов. Клиент должен снизить нагрузку и учитывать Retry-After, если сервер его передал.
HTTP/2 передаёт кадры нескольких streams по одному соединению, поэтому ответы не обязаны идти целиком друг за другом, как при HTTP/1.1 pipelining. Это уменьшает блокировку на уровне HTTP.
Разложите задержку на DNS, соединение, TLS, ожидание в пуле, обработку сервиса и передачу ответа. Сопоставьте клиентские метрики, distributed traces и состояние зависимостей.
L4 распределяет транспортные соединения, L7 понимает HTTP и может маршрутизировать по host/path/заголовкам. Для миллионов WebSocket важны ресурсы соединений и TLS, а не только номер уровня.