Debian Curl unterstützt jetzt HTTP3: Was Sie wissen müssen
Gute Nachrichten für Debian-Nutzer! HTTP3 ist in Debian Curl angekommen. Ja, ab curl 8.0.0-2 können Debian-Nutzer nun HTTP3 verwenden. Dies markiert ein bedeutendes Upgrade der curl-Funktionen und verbessert die Leistung und Effizienz bei der Handhabung von Webkommunikation.
Wie man HTTP3 mit Curl unter Debian verwendet
Dieses neue Feature kann einfach mit dem --http3-only-Flag getestet werden.
Um HTTP3 mit curl zu verwenden, führen Sie einfach den folgenden Befehl aus:
curl --http3-only https://example.comAlternativ können Sie es in einem Container mit Podman testen:
podman run debian:unstable apt install --update -y curl && curl --http3-only https://example.comBeachten Sie, dass der apt-Befehl nun die Option --update für die Befehle upgrade und install enthält, obwohl diese Funktion in der stabilen Version noch nicht verfügbar ist.
Verfügbarkeit in verschiedenen Debian-Versionen
Die HTTP3-Unterstützung für curl wird in verschiedenen Debian-Versionen eingeführt.
- Debian Unstable: Bereits verfügbar seit dem 2. Juli 2024.
- Debian Testing: Erwartet, das Update Mitte Juli 2024 zu erhalten, vorausgesetzt, es treten keine Probleme auf.
- Debian 12/bookworm Backports: Wird verfügbar sein, sobald das Paket Debian Testing erreicht.
- Debian 12/bookworm: Aufgrund von Debians Verpflichtung zur Stabilität wird diese Funktion nicht im regulären Repository für Debian 12 ausgeliefert. Benutzer können jedoch über die Backports-Repositories darauf zugreifen.
- Debian-Derivate: Rolling Releases erhalten es, wenn es in Debian Testing ist. Stabile Derivate werden es in ihre nächste Hauptversion aufnehmen.
Technische Herausforderungen überwinden
HTTP3 ist relativ neu, und keine andere Linux-Distribution unterstützt es derzeit in curl. Die Hauptprobleme umfassen:
- OpenSSL-Unterstützung: OpenSSL fehlt eine ordnungsgemäße HTTP3-Unterstützung. Fast jedes Curl-Paket verwendet OpenSSL, was den Wechsel des TLS-Backends riskant macht.
- Leistungsprobleme: Die Leistung von OpenSSL ist in Version 3.3 für HTTP3 noch nicht zufriedenstellend.
- Nginx-Kompatibilität: Obwohl nginx HTTP3 über OpenSSL unterstützt, empfiehlt es die Verwendung anderer SSL-Bibliotheken wie BoringSSL, LibreSSL oder QuicTLS für besseren QUIC-Support.
Debian curl verwendet GnuTLS, das kürzlich nicht-experimentelle Unterstützung für HTTP3 über ngtcp2 und nghttp3 erhalten hat. Dies machte es möglich, HTTP3 im curl-Paket von Debian zu aktivieren.
Implementierungsprozess
Das Debian-curl-Paket enthält historisch gesehen sowohl OpenSSL- als auch GnuTLS-Varianten von libcurl. Die GnuTLS-Variante kann bereits HTTP3 unterstützen, während die OpenSSL-Variante dies nicht kann.
Ergriffene Maßnahmen
Die Debian-Entwickler unternahmen die folgenden Schritte, um diese Funktion in curl zu implementieren:
- Abhängigkeiten erfüllen: Stellen Sie sicher, dass alle erforderlichen Abhängigkeiten die Mindestanforderungen erfüllen.
- HTTP3 für GnuTLS libcurl aktivieren: Aktivieren Sie die HTTP3-Unterstützung in der GnuTLS-Version von libcurl.
- TLS-Backend wechseln: Ändern Sie das TLS-Backend des curl-Befehlszeilenprogramms von OpenSSL zu GnuTLS.
Dieser Prozess beinhaltete die Aktualisierung von nghttp3, was aufgrund einer SONAME-Erhöhung einen Übergang erforderte, und die Sicherstellung, dass alle Abhängigkeiten kompatibel waren. Sobald die Abhängigkeiten vorhanden waren, war die Aktivierung von HTTP3 unkompliziert.
Sicherstellung der Stabilität
Um zu vermeiden, dass die Umgebungen der Benutzer beschädigt werden, wurden die folgenden Schritte unternommen:
- Keine direkte Weiterleitung an Stable: Die Änderung wird nicht in die aktuellen Stable-Versionen übernommen. Sie wird in der nächsten Stable-Version (13/trixie) enthalten sein.
- Risikoanalyse: Bewerten Sie das Risiko des Funktionsverlusts, das auf das OpenSSL-Backend beschränkt ist. Das einzige potenziell betroffene bedeutende Feature ist das experimentelle Encrypted Client Hello (ECH), das noch nicht von Standard-OpenSSL unterstützt wird.
- CI-Tests: Die CI-Tests für alle Pakete, die von curl abhängen, werden durchgeführt, um sicherzustellen, dass keine Fehler auftreten. Die Ergebnisse werden mit dem curl-CLI vor der Änderung mit OpenSSL verglichen.
Wenn keine Probleme auftreten, wird curl mit HTTP3-Unterstützung in ein paar Tagen (ungefähr 5 Tage) zu Debian Testing migrieren. Wenn Probleme festgestellt werden, werden diese vor der Migration behoben, die voraussichtlich weniger als einen Monat dauern wird.
Verwandte Lektüre:
- Wcurl: Eine benutzerfreundliche Curl-Wrapper für einfache Dateidownloads
- So installieren Sie Curl mit GnuTLS-Backend in Debian
Fazit
Die Aufnahme von HTTP3 in Debians curl ist ein bedeutender Fortschritt. Sie verbessert die Leistung und die Fähigkeiten von curl und entspricht den neuesten Webstandards. Auch wenn dieses Upgrade komplex ist, haben die Debian-Entwickler es sorgfältig verwaltet, um Stabilität und Zuverlässigkeit für alle Benutzer zu gewährleisten.
Ressource:
- Debians curl unterstützt jetzt HTTP3