Debian Curl prend maintenant en charge HTTP3 : ce que vous devez savoir
Bonne nouvelle pour les utilisateurs de Debian ! HTTP3 arrive dans Debian Curl. Oui, à partir de curl 8.0.0-2, les utilisateurs de Debian peuvent désormais utiliser HTTP3. Cela marque une amélioration significative des capacités de curl, améliorant ses performances et son efficacité dans la gestion des communications web.
Comment utiliser HTTP3 avec Curl sur Debian
Cette nouvelle fonctionnalité peut être facilement testée en utilisant l'option --http3-only.
Pour utiliser HTTP3 avec curl, il suffit d'exécuter la commande suivante :
curl --http3-only https://example.comAlternativement, vous pouvez le tester dans un conteneur en utilisant Podman :
podman run debian:unstable apt install --update -y curl && curl --http3-only https://example.comNotez que la commande apt inclut désormais l'option --update pour les commandes upgrade et install, bien que cette fonctionnalité ne soit pas encore disponible dans la version stable.
Disponibilité selon les versions de Debian
La prise en charge de HTTP3 pour curl est en train de se déployer sur différentes versions de Debian.
- Debian Instable : Déjà disponible depuis le 2 juillet 2024.
- Debian Testing : Prévu pour recevoir la mise à jour à la mi-juillet 2024, à condition qu'aucun problème ne survienne.
- Debian 12/bookworm Backports : Sera disponible dès que le paquet atteindra Debian Testing.
- Debian 12/bookworm : En raison de l'engagement de Debian envers la stabilité, cette fonctionnalité ne sera pas fournie dans le dépôt standard pour Debian 12. Cependant, les utilisateurs peuvent y accéder via les dépôts backports.
- Dérivés de Debian : Les versions en continu le recevront lorsqu'il sera dans Debian Testing. Les dérivés stables l'incluront dans leur prochaine version majeure.
Surmonter les défis techniques
HTTP3 est relativement récent, et aucune autre distribution Linux ne le prend actuellement en charge dans curl. Les principaux défis incluent :
- Support OpenSSL : OpenSSL ne dispose pas d'un support correct pour HTTP3. Presque tous les packages curl utilisent OpenSSL, ce qui rend risqué de changer le backend TLS.
- Problèmes de performance : Les performances d'OpenSSL ne sont pas encore satisfaisantes pour HTTP3 à partir de la version 3.3.
- Compatibilité Nginx : Bien que nginx prenne en charge HTTP3 via OpenSSL, il recommande d'utiliser d'autres bibliothèques SSL comme BoringSSL, LibreSSL ou QuicTLS pour un meilleur support de QUIC.
Debian curl utilise GnuTLS, qui a récemment obtenu un support non expérimental pour HTTP3 via ngtcp2 et nghttp3. Cela a rendu possible l'activation de HTTP3 dans le paquet curl de Debian.
Processus de mise en œuvre
Le paquet curl de Debian comprend historiquement à la fois les variantes OpenSSL et GnuTLS de libcurl. La variante GnuTLS peut déjà prendre en charge HTTP3, tandis que la variante OpenSSL ne le peut pas.
Étapes suivies
Les développeurs Debian ont pris les mesures suivantes pour implémenter cette fonctionnalité dans curl :
- Remplir les dépendances : Assurez-vous que toutes les dépendances requises répondent aux exigences minimales.
- Activer HTTP3 pour GnuTLS libcurl : Activez la prise en charge de HTTP3 dans la version GnuTLS de libcurl.
- Changer le backend TLS : Changez le backend TLS de l'interface curl CLI d'OpenSSL à GnuTLS.
Ce processus a impliqué la mise à jour de nghttp3, ce qui a nécessité une transition en raison d'une augmentation du SONAME, et la vérification que toutes les dépendances étaient compatibles. Une fois les dépendances en place, l'activation de HTTP3 a été simple.
Assurer la stabilité
Pour éviter de perturber les environnements des utilisateurs, les étapes suivantes ont été suivies :
- Pas de push direct vers la version stable : Le changement ne sera pas poussé vers les versions stables actuelles. Il sera présent dans la prochaine version stable (13/trixie).
- Analyse des risques : Évaluer le risque de perte de fonctionnalité limité au backend OpenSSL. La seule fonctionnalité significative pouvant être affectée est le Client Hello chiffré expérimental (ECH), qui n'est pas encore pris en charge par OpenSSL standard.
- Tests CI : Les tests CI pour tous les packages dépendant de curl sont en cours d'exécution afin de s'assurer qu'il n'y a pas de dysfonctionnements. Les résultats sont comparés avec l'interface en ligne de commande curl avant le changement avec OpenSSL.
Si aucun problème ne survient, curl avec le support HTTP3 sera migré vers Debian Testing dans quelques jours (environ 5 jours). Si des problèmes sont détectés, ils seront résolus avant la migration, qui devrait prendre moins d'un mois.
Lecture liée :
- Wcurl : un wrapper Curl convivial pour des téléchargements de fichiers faciles
- Comment installer Curl avec le backend GnuTLS sur Debian
Conclusion
L'inclusion de HTTP3 dans curl de Debian est un pas en avant important. Elle améliore les performances et les capacités de curl, en s'alignant sur les dernières normes du web. Même si cette mise à jour est complexe, les développeurs de Debian l'ont gérée avec soin pour garantir la stabilité et la fiabilité pour tous les utilisateurs.
Ressource:
- Le curl de Debian prend désormais en charge HTTP3