HTTP/3.0 mori statusin standard të propozuar

Комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры интернета, завершил формирование RFC для протокола HTTP/3.0 и опубликовал связанные с ним спецификации под идентификаторами RFC 9114 (протокол) и RFC 9204 (технология сжатие заголовков QPACK для HTTP/3). Спецификация HTTP/3.0 получила статус «Предложенного стандарта», после чего начнётся работа по приданию RFC статуса чернового стандарта (Draft Standard), фактически означающего полную стабилизацию протокола и учёт всех высказанных замечаний. Одновременно опубликованы обновлённые варианты спецификаций для протоколов HTTP/1.1 (RFC 9112) и HTTP/2.0 (RFC 9113), а также документы, определяющие семантику HTTP-запросов (RFC 9110) и HTTP-заголовки управления кэшированием (RFC 9111).

Протокол HTTP/3 определяет использование протокола QUIC (Quick UDP Internet Connections) в качестве транспорта для HTTP/2. QUIC представляет собой надстройку над протоколом UDP, поддерживающую мультиплексирование нескольких соединений и обеспечивающую методы шифрования, эквивалентные TLS/SSL. Протокол был создан в 2013 году компанией Google в качестве альтернативы связке TCP+TLS для Web, решающей проблемы с большим временем установки и согласования соединений в TCP и устраняющей задержки при потере пакетов в процессе передачи данных.

HTTP/3.0 mori statusin standard të propozuar

В настоящее время поддержка QUIC и HTTP/3.0 уже реализована во всех популярных web-браузерах (в Chrome, Firefox и Edge поддержка HTTP/3 включена по умолчанию, а в Safari требует включения настройки «Advanced > Experimental Features > HTTP/3»). На серверной стороне реализации HTTP/3 доступны для nginx (в отдельной ветке и в форме отдельного модуля), Caddy, IIS и LiteSpeed. Поддержку HTTP/3 также обеспечивает сеть доставки контента Cloudflare.

Karakteristikat kryesore të QUIC:

  • Siguri e lartë e ngjashme me TLS (në thelb QUIC ofron mundësinë për të përdorur TLS mbi UDP);
  • Kontrolli i integritetit të rrjedhës, duke parandaluar humbjen e paketave;
  • Aftësia për të vendosur menjëherë një lidhje (0-RTT, në afërsisht 75% të rasteve të dhënat mund të transmetohen menjëherë pas dërgimit të paketës së konfigurimit të lidhjes) dhe të sigurojë vonesa minimale midis dërgimit të një kërkese dhe marrjes së një përgjigje (RTT, Koha e udhëtimit vajtje-ardhje);
    HTTP/3.0 mori statusin standard të propozuar
  • Përdorimi i një numri të ndryshëm të sekuencës gjatë ritransmetimit të një pakete, gjë që shmang paqartësitë në identifikimin e paketave të marra dhe shpëton nga afatet kohore;
  • Humbja e një pakete ndikon vetëm në shpërndarjen e rrymës së lidhur me të dhe nuk ndalon dërgimin e të dhënave në rrjedhat paralele të transmetuara përmes lidhjes aktuale;
  • Karakteristikat e korrigjimit të gabimeve që minimizojnë vonesat për shkak të ritransmetimit të paketave të humbura. Përdorimi i kodeve speciale të korrigjimit të gabimeve në nivel pakete për të reduktuar situatat që kërkojnë ritransmetim të të dhënave të paketave të humbura.
  • Kufijtë e blloqeve kriptografike janë në linjë me kufijtë e paketave QUIC, gjë që zvogëlon ndikimin e humbjeve të paketave në dekodimin e përmbajtjes së paketave pasuese;
  • Nuk ka probleme me bllokimin e radhës TCP;
  • Mbështetje për identifikuesin e lidhjes, i cili redukton kohën që duhet për të vendosur një rilidhje për klientët celularë;
  • Mundësia e lidhjes së mekanizmave të avancuar të kontrollit të kongjestionit të lidhjeve;
  • Përdor teknikat e parashikimit të xhiros për drejtim për të siguruar që paketat të dërgohen me ritme optimale, duke i parandaluar ato të mbingarkohen dhe të shkaktojnë humbje të paketave;
  • Rritje e ndjeshme e performancës dhe xhiros në krahasim me TCP. Për shërbimet e videove të tilla si YouTube, QUIC është treguar se redukton operacionet e rebufferimit kur shikoni video me 30%.

Из изменений в спецификации HTTP/1.1 можно отметить запрет на обособленное использование символа возврата каретки (CR) вне тела с содержимым, т.е. в элементах протокола символ CR может применяться только вместе с символом перевода строки (CRLF). Алгоритм компоновки chunked-запросов доработан для упрощения разделения прикреплённых полей и секции с заголовками. Добавлены рекомендации по обработке неоднозначного содержимого для блокирования атак класса «HTTP Request Smuggling», позволяющих вклиниваться в содержимое запросов других пользователей в потоке между фронтэндом и бэкендом.

В обновлении спецификации HTTP/2.0 явно определена поддержка TLS 1.3. Переведена в категорию устаревших схема определения приоритетов и связанные с ней поля в заголовках. Объявлен устаревшим не получивший распространения механизм обновления соединения с HTTP/1.1. Сокращены требования к проверке имён полей и значений. Предложены для использования некоторые ранее зарезервированные типы кадров и параметры. Более точно определены запрещённые поля заголовков, относящиеся к соединению.

Burimi: opennet.ru

Shto një koment