Fhuair HTTP/3.0 inbhe àbhaisteach a chaidh a mholadh

Комитет 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 и устраняющей задержки при потере пакетов в процессе передачи данных.

Fhuair HTTP/3.0 inbhe àbhaisteach a chaidh a mholadh

В настоящее время поддержка 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.

Prìomh fheartan QUIC:

  • Tèarainteachd àrd coltach ri TLS (gu bunaiteach tha QUIC a’ toirt seachad comas TLS a chleachdadh thairis air UDP);
  • Smachd iomlanachd sruthadh, casg air call pacaid;
  • An comas ceangal a stèidheachadh sa bhad (0-RTT, ann an timcheall air 75% de chùisean faodar dàta a chuir a-mach sa bhad às deidh a ’phacaid rèiteachaidh ceangail a chuir a-steach) agus glè bheag de dhàil a thoirt eadar iarrtas a chuir agus freagairt fhaighinn (RTT, Round Trip Time);
    Fhuair HTTP/3.0 inbhe àbhaisteach a chaidh a mholadh
  • A’ cleachdadh àireamh sreath eadar-dhealaichte nuair a bhios tu ag ath-chraoladh pacaid, a bhios a’ seachnadh mì-chinnt ann a bhith a’ comharrachadh phasganan a fhuaireadh agus a’ faighinn cuidhteas amannan-ama;
  • Chan eil call pacaid a 'toirt buaidh ach air lìbhrigeadh an t-sruth a tha co-cheangailte ris agus chan eil e a' stad air lìbhrigeadh dàta ann an sruthan co-shìnte a thèid a ghluasad tron ​​​​cheangal làithreach;
  • Feartan ceartachaidh mhearachdan a lughdaicheas dàil mar thoradh air ath-chraoladh pacaidean caillte. Cleachdadh còdan ceartachaidh mhearachdan sònraichte aig ìre a’ phacaid gus suidheachaidhean a lughdachadh a dh’ fheumas dàta pacaid caillte ath-chraoladh.
  • Tha crìochan bloc criptografach co-chòrdail ri crìochan pacaid QUIC, a lughdaicheas buaidh call pacaid air a bhith a’ còdachadh susbaint nam pacaidean às deidh sin;
  • Gun duilgheadas le bacadh ciudha TCP;
  • Taic airson aithnichear ceangail, a lughdaicheas an ùine a bheir e gus ath-cheangal a stèidheachadh airson teachdaichean gluasadach;
  • Comas dòighean smachd dùmhlachd ceangail adhartach a cheangal;
  • A’ cleachdadh dhòighean ro-innse trochur per-direction gus dèanamh cinnteach gun tèid pacaidean a chuir aig na h-ìrean as fheàrr, gus casg a chuir orra bho bhith dùmhail agus ag adhbhrachadh call pacaid;
  • Àrdachadh mòr ann an coileanadh agus trochur an coimeas ri TCP. Airson seirbheisean bhidio leithid YouTube, thathas air sealltainn gu bheil QUIC a’ lughdachadh gnìomhachd ath-buffering nuair a bhios iad a’ coimhead bhideothan 30%.

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

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

Source: fosgailtenet.ru

Cuir beachd ann