Zum Hauptinhalt Zur Navigation Zur Suche

HTTP-Client: Tiny-Curl bietet 100-KByte-Bibliothek für Embedded-Geräte

Die HTTP-Bibliothek des Curl-Projekts gilt als wahrscheinlich am weitesten verbreitete dieser Art überhaupt. Für Embedded-Geräte erstellt der Hauptentwickler nun Tiny-Curl, das mit nur rund 100 KByte weniger als ein Viertel so groß ist wie übliche Pakete.
/ Sebastian Grüner
1 Kommentare News folgen (öffnet im neuen Fenster)
Auf solch einem Entwicklerboard mit ARM Cortex M4 soll Tiny-Curl künftig auch laufen können. (Bild: Daniel Stenberg)
Auf solch einem Entwicklerboard mit ARM Cortex M4 soll Tiny-Curl künftig auch laufen können. Bild: Daniel Stenberg

Der Entwickler Daniel Stenberg, der Erfinder und Hauptentwickler des Curl-Projekts, schreibt in seinem Blog über die Software(öffnet im neuen Fenster): "Curl ist eine solide und funktionsreiche Bibliothek, die eine Vielzahl von Protokollen und Funktionen unterstützt, die die meisten Mitbewerber übertreffen. Das hat aber auch einen Preis: Es ist nicht die kleinste Bibliothek, die Sie finden können". Deshalb hat Stenberg die Tiny-Curl-Bibliothek geschaffen, die vor allem auf Embedded-Geräten laufen soll.

Stenbergs selbstgesetztes Ziel, eine Curl-Variante zu schaffen, die lediglich 100 KByte groß ist, hat der Entwickler nun umgesetzt. Was für eine massive Aufgabe das ist, zeigt sich im Vergleich zu den üblichen Linux-Distributionspaketen der Curl-Bibliothek, die mehr als viermal so groß sind. Trotzdem unterstützt Tiny-Curl die üblichen Funktionen zu Datenübertragung samt der TLS-Bibliothek WolfSSL, dem Arbeitgeber von Stenberg.

Um die Bibliothek so weit zu verkleinern, habe Stenberg viele Protokolle und Funktionen von Curl deaktiviert und die Software so auf die Grundlage reduziert, wie er selbst sagt. So werde nur HTTP/1 und HTTPS unterstützt, aber zum Beispiel keine Cookies, keine HTTP-Authentifizierung und auch kein DNS über HTTPS. Ebenso wird das Parsen von Datumsinformationen nicht unterstützt und auch auf eine Fortschrittsanzeige verzichtet Tiny-Curl.

Da solch eine kleine Bibliothek üblicherweise nicht auf Linux-Systemen läuft, hat Stenberg Tiny-Curl auch auf FreeRTOS portiert. Er könne sich außerdem vorstellen, dass weitere ähnliche Ports folgen könnten. Dieser Port steht zunächst unter der GPLv3 über die Seite von WolfSSL zum Download(öffnet im neuen Fenster) bereit. Der Rest von Curl steht unter der freizügigen MIT-Lizenz. Stenberg begründet dies mit der noch laufenden Suche nach einem Finanzierungsmodell für derartige Arbeiten an Curl. Zusätzlich dazu steht Tiny-Curl für zahlende Kunden auch unter einer anderen Lizenz bereit.


Relevante Themen