Warning: mkdir(): No space left on device in /var/www/tgoop/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/system_design_world/--): Failed to open stream: No such file or directory in /var/www/tgoop/post.php on line 50
System Design World@system_design_world P.136
SYSTEM_DESIGN_WORLD Telegram 136
Эволюция HTTP: HTTP/2 и HTTP/3

Предыдущие части:
-
HTTP/0.9 и HTTP/1.0
-
HTTP/1.1

HTTP/2.0

В 2009 году компания Google начала разрабатывать свой протокол SPDY, который частично решал проблемы версии HTTP/1.1. Позднее нововведения данного протокола были приняты при разработке стандарта HTTP/2.0, опубликованного в 2015 году в RFC 7540.

Основные изменения в HTTP/2.0:

1️⃣ Мультиплексирование:
одно соединение может использоваться для отправки и получения нескольких независимых сообщений и файлов одновременно.

2️⃣ Бинарный формат:
данные передаются в бинарном формате, а не в текстовом виде, как в предыдущих версиях.

3️⃣ Сжатие заголовков:
заголовки передаются в сжатом виде с помощью алгоритма HPACK (RFC 7541). Это позволяет увеличить производительность и скорость передачи данных.

4️⃣ Серверные push-уведомления:
сервер может отправлять ресурсы клиенту до того, как он их запросит, что улучшает производительность.

HTTP/2.0 значительно увеличил производительность и скорость загрузки веб-страниц, сформировав современный интернет. В настоящее время версия HTTP/2.0 используется на около 70% веб-сайтов в интернете.

Однако, несмотря на значительные улучшения, HTTP/2.0 столкнулся с проблемами, обусловленными ограничениями транспортного протокола TCP.

Недостатки HTTP/2.0:

1️⃣ Head-of-line блокировка:
несмотря на мультиплексирование, с точки зрения транспортного протокола TCP передача файлов выглядит как единый поток байтов. Поэтому, если хотя бы один пакет из файла будет потерян, передача остальных файлов будет остановлена, пока потерянный пакет не будет получен.

2️⃣ Шифрование:
в HTTP/2 шифрование не является обязательным. И хотя основные браузеры запретили использовать HTTP/2.0 без шифрования (если сервер не поддерживает TLS, то браузер автоматически переходит на версию HTTP/1.1), в самом стандарте нет жестких требований.

3️⃣ Недостатки транспортного уровня:
протокол TCP является безопасным протоколом. Для установления соединения он использует трехэтапное рукопожатие, прежде чем клиент с сервером сможет обмениваться данными. Для установления соединения между клиентом и сервером необходимо затратить время для 3 круговых запросов (3-RTT) для TLS 1.2 и 2-RTT для TLS 1.3.

ℹ️ Именно поэтому началась работа над новой версией HTTP/3.0.

HTTP/3

В 2022 году был опубликован RFC 9114, описывающий HTTP/3.

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

1️⃣ Новый транспортный уровень:
в основе QUIC лежит протокол UDP, который не требует создания соединения. Также QUIC позволяет создавать мультиплексированные каналы с помощью стримов, которые не имеют блокировки Head-of-line.

2️⃣ Расширенная безопасность:
в QUIC интегрирован протокол безопасности TLS 1.3. Большая часть пакета QUIC зашифрована.

3️⃣ Быстрое установление соединения:
в QUIC рукопожатие транспортного уровня и уровня безопасности объединены. Поэтому для установления соединения необходимо 1-RTT (а для некоторых случаев и 0-RTT).

4️⃣ Гибкость в передаче данных:
протокол QUIC гарантирует надежную доставку сообщений: гарантия доставки и порядка сообщений. Но также поддерживает работу стримов в режиме DATAGRAMS — негарантированная доставка без подтверждения потоков (например, для создания видео-стриминга).

5️⃣ Миграция соединений:
благодаря использованию connection ID, QUIC поддерживает миграцию соединений: в случае изменения сети передачи данных, например, с GPRS на Wi-Fi, нет необходимости заново устанавливать соединение.

В настоящий момент более 25% сайтов и почти все браузеры по умолчанию поддерживают HTTP/3. Последняя версия HTTP/3 не является финальной, поэтому данный стандарт будет развиваться и дорабатываться.

Подробнее об HTTP/3 вы можете узнать из доклада: Нина Пакшина, "Чего ожидать от HTTP/3 + Go". Подписывайтесь на канал.

На этом серия постов об эволюции HTTP заканчивается.

Планируете ли вы использовать HTTP/3 в своем проекте?
👍20🔥9



tgoop.com/system_design_world/136
Create:
Last Update:

Эволюция HTTP: HTTP/2 и HTTP/3

Предыдущие части:
-
HTTP/0.9 и HTTP/1.0
-
HTTP/1.1

HTTP/2.0

В 2009 году компания Google начала разрабатывать свой протокол SPDY, который частично решал проблемы версии HTTP/1.1. Позднее нововведения данного протокола были приняты при разработке стандарта HTTP/2.0, опубликованного в 2015 году в RFC 7540.

Основные изменения в HTTP/2.0:

1️⃣ Мультиплексирование:
одно соединение может использоваться для отправки и получения нескольких независимых сообщений и файлов одновременно.

2️⃣ Бинарный формат:
данные передаются в бинарном формате, а не в текстовом виде, как в предыдущих версиях.

3️⃣ Сжатие заголовков:
заголовки передаются в сжатом виде с помощью алгоритма HPACK (RFC 7541). Это позволяет увеличить производительность и скорость передачи данных.

4️⃣ Серверные push-уведомления:
сервер может отправлять ресурсы клиенту до того, как он их запросит, что улучшает производительность.

HTTP/2.0 значительно увеличил производительность и скорость загрузки веб-страниц, сформировав современный интернет. В настоящее время версия HTTP/2.0 используется на около 70% веб-сайтов в интернете.

Однако, несмотря на значительные улучшения, HTTP/2.0 столкнулся с проблемами, обусловленными ограничениями транспортного протокола TCP.

Недостатки HTTP/2.0:

1️⃣ Head-of-line блокировка:
несмотря на мультиплексирование, с точки зрения транспортного протокола TCP передача файлов выглядит как единый поток байтов. Поэтому, если хотя бы один пакет из файла будет потерян, передача остальных файлов будет остановлена, пока потерянный пакет не будет получен.

2️⃣ Шифрование:
в HTTP/2 шифрование не является обязательным. И хотя основные браузеры запретили использовать HTTP/2.0 без шифрования (если сервер не поддерживает TLS, то браузер автоматически переходит на версию HTTP/1.1), в самом стандарте нет жестких требований.

3️⃣ Недостатки транспортного уровня:
протокол TCP является безопасным протоколом. Для установления соединения он использует трехэтапное рукопожатие, прежде чем клиент с сервером сможет обмениваться данными. Для установления соединения между клиентом и сервером необходимо затратить время для 3 круговых запросов (3-RTT) для TLS 1.2 и 2-RTT для TLS 1.3.

ℹ️ Именно поэтому началась работа над новой версией HTTP/3.0.

HTTP/3

В 2022 году был опубликован RFC 9114, описывающий HTTP/3.

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

1️⃣ Новый транспортный уровень:
в основе QUIC лежит протокол UDP, который не требует создания соединения. Также QUIC позволяет создавать мультиплексированные каналы с помощью стримов, которые не имеют блокировки Head-of-line.

2️⃣ Расширенная безопасность:
в QUIC интегрирован протокол безопасности TLS 1.3. Большая часть пакета QUIC зашифрована.

3️⃣ Быстрое установление соединения:
в QUIC рукопожатие транспортного уровня и уровня безопасности объединены. Поэтому для установления соединения необходимо 1-RTT (а для некоторых случаев и 0-RTT).

4️⃣ Гибкость в передаче данных:
протокол QUIC гарантирует надежную доставку сообщений: гарантия доставки и порядка сообщений. Но также поддерживает работу стримов в режиме DATAGRAMS — негарантированная доставка без подтверждения потоков (например, для создания видео-стриминга).

5️⃣ Миграция соединений:
благодаря использованию connection ID, QUIC поддерживает миграцию соединений: в случае изменения сети передачи данных, например, с GPRS на Wi-Fi, нет необходимости заново устанавливать соединение.

В настоящий момент более 25% сайтов и почти все браузеры по умолчанию поддерживают HTTP/3. Последняя версия HTTP/3 не является финальной, поэтому данный стандарт будет развиваться и дорабатываться.

Подробнее об HTTP/3 вы можете узнать из доклада: Нина Пакшина, "Чего ожидать от HTTP/3 + Go". Подписывайтесь на канал.

На этом серия постов об эволюции HTTP заканчивается.

Планируете ли вы использовать HTTP/3 в своем проекте?

BY System Design World




Share with your friend now:
tgoop.com/system_design_world/136

View MORE
Open in Telegram


Telegram News

Date: |

On Tuesday, some local media outlets included Sing Tao Daily cited sources as saying the Hong Kong government was considering restricting access to Telegram. Privacy Commissioner for Personal Data Ada Chung told to the Legislative Council on Monday that government officials, police and lawmakers remain the targets of “doxxing” despite a privacy law amendment last year that criminalised the malicious disclosure of personal information. Users are more open to new information on workdays rather than weekends. fire bomb molotov November 18 Dylan Hollingsworth yau ma tei Today, we will address Telegram channels and how to use them for maximum benefit. 1What is Telegram Channels?
from us


Telegram System Design World
FROM American