HTTP/3.0 hΓ  ricevutu u statutu standard prupostu

ΠšΠΎΠΌΠΈΡ‚Π΅Ρ‚ 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 hΓ  ricevutu u statutu standard prupostu

Π’ настоящСС врСмя ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 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.

Caratteristiche principali di QUIC:

  • Alta sicurezza simile Γ  TLS (essenzialmente QUIC furnisce a capacitΓ  di utilizΓ  TLS sopra UDP);
  • U cuntrollu di l'integritΓ  di u flussu, impediscendu a perdita di pacchetti;
  • A capacitΓ  di stabilisce istantaneamente una cunnessione (0-RTT, in circa 75% di i casi, i dati ponu esse trasmessi immediatamenti dopu Γ  mandΓ  u pacchettu di cunfigurazione di cunnessione) Γ¨ furnisce ritardi minimi trΓ  l'inviu di una dumanda Γ¨ riceve una risposta (RTT, Round Trip Time);
    HTTP/3.0 hΓ  ricevutu u statutu standard prupostu
  • UtilizΓ  un numeru di sequenza differente quandu si ritrasmette un pacchettu, chΓ¬ evita l'ambiguitΓ  in l'identificazione di i pacchetti ricevuti Γ¨ sbarazza di timeout;
  • A perdita di un pacchettu affetta solu a consegna di u flussu assuciatu cΓΉ questu Γ¨ ΓΉn impedisce micca a consegna di dati in flussi paralleli trasmessi attraversu a cunnessione attuale;
  • Funzioni di correzione d'errore chΓ¬ minimizanu i ritardu per via di a ritrasmissione di pacchetti persi. Utilizazione di codici di correzione d'errore speciale Γ  u livellu di u pacchettu per riduce e situazioni chΓ¬ necessitanu ritrasmissioni di dati di pacchetti persi.
  • I cunfini di u bloccu criptograficu sΓ² allinati cΓΉ i limiti di u pacchettu QUIC, chΓ¬ reduce l'impattu di perdite di pacchetti nantu Γ  a decodificazione di u cuntenutu di i pacchetti successivi;
  • Nisun prublema cΓΉ u bloccu di fila TCP;
  • Supportu per l'identificatore di cunnessione, chΓ¬ riduce u tempu chΓ¬ ci vole Γ  stabilisce una reconnection per i clienti mobili;
  • PossibilitΓ  di cunnette i meccanismi avanzati di cuntrollu di congestioni di cunnessione;
  • AduprΓ  tecniche di previsione di u throughput per direzzione per assicurΓ  chΓ¬ i pacchetti sΓ² mandati Γ  ritmi ottimali, impediscendu di diventΓ  congestionati Γ¨ causendu a perdita di pacchetti;
  • Aumentu significativu in u rendiment Γ¨ u throughput paragunatu Γ  TCP. Per i servizii di video cum'Γ¨ YouTube, QUIC hΓ¨ statu dimustratu per riduce l'operazioni di rebuffering quandu vede video da 30%.

Из ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² спСцификации HTTP/1.1 ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π·Π°ΠΏΡ€Π΅Ρ‚ Π½Π° обособлСнноС использованиС символа Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ (CR) Π²Π½Π΅ Ρ‚Π΅Π»Π° с содСрТимым, Ρ‚.Π΅. Π² элСмСнтах ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° символ CR ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вмСстС с символом ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки (CRLF). Алгоритм ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ chunked-запросов Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½ для упрощСния раздСлСния ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Ρ‘Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΈ сСкции с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ³ΠΎ содСрТимого для блокирования Π°Ρ‚Π°ΠΊ класса Β«HTTP Request SmugglingΒ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π²ΠΊΠ»ΠΈΠ½ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² содСрТимоС запросов Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² ΠΏΠΎΡ‚ΠΎΠΊΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ фронтэндом ΠΈ бэкСндом.

Π’ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ спСцификации HTTP/2.0 явно ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° TLS 1.3. ΠŸΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… схСма опрСдСлСния ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ² ΠΈ связанныС с Π½Π΅ΠΉ поля Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ…. ОбъявлСн ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉ распространСния ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ обновлСния соСдинСния с HTTP/1.1. Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½Ρ‹ трСбования ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ΠΈΠΌΡ‘Π½ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ для использования Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π½Π΅Π΅ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π·Π°ΠΏΡ€Π΅Ρ‰Ρ‘Π½Π½Ρ‹Π΅ поля Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², относящиСся ΠΊ соСдинСнию.

Source: opennet.ru

Add a comment