curl 7.66.0: ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ ΠΈ HTTP/3

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, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², ΠΊΡƒΠΊΠΈ. НС сдСланы запросы с большим Ρ‚Π΅Π»ΠΎΠΌ, распараллСливаниС, тСсты.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π½Π° GitHub

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ