11 ΡΠ΅Π½ΡΡΠ±ΡΡ Π²ΡΡΠ»Π° Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ curl β ΠΏΡΠΎΡΡΠΎΠΉ CLI ΡΡΠΈΠ»ΠΈΡΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΡΠ΅ΡΠΈ. ΠΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΡ:
- ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° HTTP3 (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π°, ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠΈ Ρ quiche ΠΈΠ»ΠΈ ngtcp2+nghttp3)
- ΠΠΎΡΠ°Π±ΠΎΡΠΊΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· SASL
- ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ (ΠΊΠ»ΡΡ -Z)
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Retry-After
- ΠΠ°ΠΌΠ΅Π½Π° curl_multi_wait() Π½Π° curl_multi_poll(), ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΠΏΠΎΠ΄Π²ΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ.
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π³ΠΎΠ²: ΠΎΡ ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ, Π΄ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Plan 9.
Π Π°Π½Π΅Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ curl ΠΠ΅Π½ΠΈΠ΅Π» Π‘ΡΡΠ½Π±Π΅ΡΠ³ (Daniel Stenberg) Π²ΡΠ»ΠΎΠΆΠΈΠ» ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ Π² Π±Π»ΠΎΠ³Π΅ ΠΈ 2,5-ΡΠ°ΡΠΎΠ²ΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΎΠ±Π·ΠΎΡ, Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ HTTP/3, ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠΊΡΠ°ΡΡΠ΅ β Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° TCP ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ UDP Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ TLS. ΠΠΎΠΊΠ° ΠΏΠΎ HTTP/3 ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ, ΠΊΠ°ΠΊ: Π΄ΠΎΡΡΡΠΏ ΠΏΠΎ IPv4 ΠΈ IPv6, Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠΈΡΠΈ DNS, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², ΠΊΡΠΊΠΈ. ΠΠ΅ ΡΠ΄Π΅Π»Π°Π½Ρ Π·Π°ΠΏΡΠΎΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠ΅Π»ΠΎΠΌ, ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅, ΡΠ΅ΡΡΡ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru