> В чем различия между HTTP/1.1 и HTTP/2 (Python)

Уровень: senior · Роль: backend · Язык: Python · Категория: Технические вопросы

Компании: Ростелеком, РозумСофт, TradingView, praktika.ai

Стек: Python

> Пример ответа

Основное различие между HTTP/1.1 и HTTP/2 - в способе передачи данных. HTTP/1.1 использует текстовый протокол и последовательные запросы (часто с одним TCP-соединением на запрос), что приводит к head-of-line blocking. HTTP/2 - бинарный протокол, который мультиплексирует несколько потоков в одном TCP-соединении, устраняя эту блокировку. Также HTTP/2 поддерживает сжатие заголовков (HPACK), server push и приоритизацию потоков. С точки зрения Python-разработчика, при использовании aiohttp или httpx для HTTP/2 нужно учитывать, что библиотека должна поддерживать протокол (например, httpx с опцией http2=True). Пример:

PYTHON
import httpx
# HTTP/1.1 (по умолчанию)
with httpx.Client() as client:
resp = client.get("https://example.com")
print(resp.http_version) # HTTP/1.1
# HTTP/2
with httpx.Client(http2=True) as client:
resp = client.get("https://example.com")
print(resp.http_version) # HTTP/2

HTTP/2 эффективнее для множества мелких запросов, но требует HTTPS (по спецификации) и может быть сложнее в отладке из-за бинарного формата.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью