I-HTTP/3.0 ifumene umgangatho ocetywayo

ΠšΠΎΠΌΠΈΡ‚Π΅Ρ‚ 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 ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡŽΡ‰Π΅ΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΡ‚Π΅Ρ€Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² процСссС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

I-HTTP/3.0 ifumene umgangatho ocetywayo

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

Iimpawu eziphambili zeQUIC:

  • Ukhuseleko oluphezulu olufana ne-TLS (ngokubalulekileyo i-QUIC ibonelela ngokukwazi ukusebenzisa i-TLS ngaphezu kwe-UDP);
  • Ukulawulwa kwengqibelelo yokuhambahamba, ukuthintela ukulahleka kwepakethi;
  • Ukukwazi ukuseka ngokukhawuleza uxhulumaniso (i-0-RTT, malunga ne-75% yeemeko zedatha zingathunyelwa ngokukhawuleza emva kokuthumela ipakethi yokuseta uxhulumaniso) kwaye unikeze ukulibaziseka okuncinci phakathi kokuthumela isicelo kunye nokufumana impendulo (RTT, Round Trip Time);
    I-HTTP/3.0 ifumene umgangatho ocetywayo
  • Ukusebenzisa inombolo yolandelelwano eyahlukileyo xa uphinda uthumela ipakethi, ethintela ukungaqondakali ekuchongeni iipakethi ezifunyenweyo kunye nokulahla ukuphelelwa kwexesha;
  • Ukulahleka kwepakethi kuchaphazela kuphela ukuhanjiswa komlambo ohambelana nayo kwaye akuyeki ukuhanjiswa kwedatha kwimijelo ehambelanayo ehanjiswa ngoxhumo lwangoku;
  • Iimpawu zokulungiswa kweempazamo ezinciphisa ukulibaziseka ngenxa yokuthunyelwa kwakhona kweepakethi ezilahlekileyo. Ukusetyenziswa kweekhowudi ezikhethekileyo zokulungiswa kweempazamo kwinqanaba lepakethe ukunciphisa iimeko ezifuna ukuhanjiswa kwakhona kwedatha yepakethe elahlekileyo.
  • Imida yebhloko ye-Cryptographic ihambelana nemida yepakethe ye-QUIC, eyanciphisa impembelelo yokulahlekelwa kwepakethi kwi-decoding imixholo yeepakethi ezilandelayo;
  • Akukho ngxaki ngokuvalwa komgca we-TCP;
  • Inkxaso yokuchonga uxhulumaniso, okunciphisa ixesha elithathayo ukuseka uxhulumaniso kwakhona kubaxhasi beselula;
  • Ukubanakho kokudibanisa iindlela zokulawula ukuxinana koqhagamshelwano oluphambili;
  • Isebenzisa iindlela zoqikelelo lwengqikelelo yomkhomba-ndlela ngamnye ukuqinisekisa ukuba iipakethi zithunyelwa ngemilinganiselo efanelekileyo, zithintele ukuba zingaxinani kwaye zibangele ilahleko yepakethe;
  • Ukonyuka okubonakalayo kokusebenza kunye nokuphumelela xa kuthelekiswa ne-TCP. Kwiinkonzo zevidiyo ezifana ne-YouTube, i-QUIC ibonakaliswe ukunciphisa ukusebenza kwakhona xa ubukele iividiyo nge-30%.

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

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

umthombo: opennet.ru

Yongeza izimvo