ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Mozilla ΡΠΎΠΎΠ±ΡΠΈΠ»Π° ΠΎ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ Π½Π°ΡΠ°ΡΡ ΠΏΠΎΡΡΠ°ΠΏΠ½ΠΎΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² HTTP/3 ΠΈ QUIC Π² Π²ΡΠΏΡΡΠΊΠ΅ Firefox 88, Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΌ Π½Π° 19 Π°ΠΏΡΠ΅Π»Ρ (ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ, ΡΠ΅Π»ΠΈΠ· ΠΎΠΆΠΈΠ΄Π°Π»ΡΡ 20 Π°ΠΏΡΠ΅Π»Ρ, Π½ΠΎ, ΡΡΠ΄Ρ ΠΏΠΎ Π³ΡΠ°ΡΠΈΠΊΡ, ΡΠ΄Π²ΠΈΠ½ΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Π΄Π΅Π½Ρ). ΠΠ½Π°ΡΠ°Π»Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° HTTP/3 Π±ΡΠ΄Π΅Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π° Π»ΠΈΡΡ Π΄Π»Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅Π½ΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ, Π΅ΡΠ»ΠΈ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ²Π΅Π΄Π΅Π½Π° Π΄ΠΎ Π²ΡΠ΅Ρ ΠΊ ΠΊΠΎΠ½ΡΡ ΠΌΠ°Ρ. Π Π½ΠΎΡΠ½ΡΡ ΡΠ±ΠΎΡΠΊΠ°Ρ ΠΈ Π±Π΅ΡΠ°-Π²Π΅ΡΡΠΈΡΡ HTTP/3 Π±ΡΠ» Π²ΠΊΠ»ΡΡΡΠ½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΌΠ°ΡΡΠ°.
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ HTTP/3 Π² Firefox ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Mozilla ΠΏΡΠΎΠ΅ΠΊΡΠ΅ neqo, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄Π»Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° QUIC. ΠΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ HTTP/3 ΠΈ QUIC Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust. ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ HTTP/3 Π² about:config ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΎΠΏΡΠΈΡ Β«network.http.http3.enabledΒ». ΠΠ· ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΠ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° HTTP/3 ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² Chrome ΠΈ curl, Π° Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ½Π° Π² nginx, Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΡΠΎΡΠΌΠ΅ nginx-ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Cloudflare. ΠΠ° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ°ΠΉΡΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° HTTP/3 ΡΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ Google ΠΈ Facebook.
ΠΡΠΎΡΠΎΠΊΠΎΠ» HTTP/3 ΠΏΠΎΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΡΠ΅ΡΠ½ΠΎΠ²ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π² IETF. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ HTTP/3 ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ΅ΡΠ½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ° QUIC ΠΈ HTTP/3, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Alt-Svc (Firefox ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Ρ 27 ΠΏΠΎ 32).
HTTP/3 ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° QUIC Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° Π΄Π»Ρ HTTP/2. ΠΡΠΎΡΠΎΠΊΠΎΠ» QUIC (Quick UDP Internet Connections) c 2013 Π³ΠΎΠ΄Π° ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Google Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΡΠ²ΡΠ·ΠΊΠ΅ TCP+TLS Π΄Π»Ρ Web, ΡΠ΅ΡΠ°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π² TCP ΠΈ ΡΡΡΡΠ°Π½ΡΡΡΠ΅ΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈ ΠΏΠΎΡΠ΅ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ . QUIC ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΡ Π½Π°Π΄ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ UDP, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠ΅ TLS/SSL. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² IETF ΡΡΠ°Π½Π΄Π°ΡΡΠ° Π² ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π±ΡΠ»ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π΄Π²ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π²Π΅ΡΠΎΠΊ, ΠΎΠ΄Π½Π° Π΄Π»Ρ HTTP/3, Π° Π²ΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠ°Ρ Google (Chrome ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°).
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);
- 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%.
umthombo: opennet.ru