Vous n'avez pas encore de notification

Page d'accueil

Options d'affichage

Abonné

Actualités

Abonné

Des thèmes sont disponibles :

Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !
cURL : Let's Encrypt finance la création d'un back-end HTTP basé sur Hyper (Rust)

Si l'on a pu lire ces derniers jours que le célèbre outil permettant d'effectuer des requêtes dans de nombreux protocoles allait être réécrit avec le langage créé par la fondation Mozilla, il n'en est rien. 

Daniel Stenberg l'a d'ailleurs clairement détaillé sur son blog. La bibliothèque de base libcurl est écrite en C et le restera. Même si le langage a ses problèmes et que des vulnérabilités sont parfois découvertes, aucune n'a jamais été critique et leur nombre se réduit.

Surtout, cette brique logicielle présente dans des millions de machines à travers le monde est connue, stable et appréciée pour cela. Un portage complet serait un travail pharaonique devant lequel même Google a finalement reculé, rappelle Stenberg.

Toutefois, la conception de cURL est flexible. Il peut être compilé avec différents back-ends, 33 pour être précis. Chacun peut être utilisé pour le support de tel ou tel protocole, avec ses avantages et inconvénients. 

L'annonce faite il y a quelques jours porte sur la création d'un nouveau back-end pour les requêtes HTTP. Il exploitera Hyper, une bibliothèque utilisée en Rust, langage considéré « memory safe » du fait de sa conception et de sa gestion de la mémoire particulières.

Ce back-end, qui supportera tant HTTP/1 que HTTP/2, viendra rejoindre quiche et Mesalink, déjà supportés et eux aussi écrits en Rust. Sa création a été financée par l'ISRG, l'organisation derrière l'autorité de certification Let's Encrypt

Stenberg indique que le travail prendra du temps. Hyper n'a pas encore d'API lui permettant de communiquer avec du code écrit en C, son développement est en cours. C'est seulement après cette étape que la conception effective du nouveau back-end pourra commencer.

Une branche dédiée a été créée sur le dépôt GitHub de cURL. Aucune date n'a pour le moment été donnée sur l'aboutissement du projet. 

5 commentaires
Avatar de ColinMaudry Abonné
Avatar de ColinMaudryColinMaudry- 13/10/20 à 09:10:25

Qu'est-ce qu'on appelle un backend pour les requêtes HTTP ?

Bon en lisant la page de quiche, il s'agit ici de créer un nouveau module pour cURL qui ajouterait des fonctionnalités propres à Hyper et au langage Rust. C'est un peu comme créer un nouvelle interface pour piloter cURL. Bon.

Avatar de yl INpactien
Avatar de ylyl- 13/10/20 à 09:20:01

Quand on voit les problèmes pour ajouter une rust-ine au couteau suisse de la requête, on se dit qu'on n'est pas prêt de voir le C déboulonné dans le noyau Linux...

Avatar de cyp Abonné
Avatar de cypcyp- 13/10/20 à 09:28:27

ColinMaudry a écrit :

Qu'est-ce qu'on appelle un backend pour les requêtes HTTP ?

Au hasard un backend pour les requêtes HTTP :D
Sachant que cURL supporte un paquet de protocole (FTP, SMTP, IMAP...) il a probablement plusieurs backend dédiés pour chacun.

Avatar de David_L Équipe
Avatar de David_LDavid_L- 13/10/20 à 10:17:22
ColinMaudry

Comme dit dans l'article, libcurl s'interface avec différents protocoles/back-ends pour les supporter. L'idée c'est d'en proposer un pour Hyper (et donc du HTTP)

Avatar de jeff.110 Abonné
Avatar de jeff.110jeff.110- 13/10/20 à 19:29:04

Pour ceux qui se demande ce qu'est cURL,:
wikipedia le décrit comme "une interface en ligne de commande, destinée à récupérer le contenu d'une ressource accessible par un réseau informatique."

Il n'est plus possible de commenter cette actualité.