Die erste stabile Version der GNU-Bibliothek libmicrohttpd.

Das GNU-Projekt hat die Bibliothek libmicrohttpd 1.0.0 veröffentlicht, die als erster stabiler Release seit 16 Jahren in der Geschichte des Projekts gilt. Die Bibliothek ist in C geschrieben und bietet eine einfache API fĂŒr die Integration von HTTP-Serverfunktionen in Anwendungen. UnterstĂŒtzte Plattformen sind: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 und z/OS. Der Code wird unter der LGPL 2.1+ Lizenz verteilt. Bei der Standardkompilierung nimmt die Bibliothek ungefĂ€hr 200 KB ein, im Minimalmodus sind es 32 KB. Die AbhĂ€ngigkeiten beinhalten nur libc sowie libgnutls fĂŒr optionale Kompilierungen mit TLS-UnterstĂŒtzung.

Die Bibliothek unterstĂŒtzt das HTTP 1.1-Protokoll, TLS, inkrementelle Verarbeitung von POST-Anfragen, Annahme von Verbindungen an mehreren Netzwerkports, Basic- und Digest-Authentifizierung, IPv6, SHOUTcast, verschiedene Methoden zur Multiplexierung von Verbindungen (select, poll, epoll) und Multithreading-Modelle (zum Beispiel kann ein Thread-Pool oder ein Thread pro Verbindung verwendet werden). Um den Overhead zu verringern, der beim Kontextwechsel zwischen Kernel und Benutzerspeicher auftritt, wurde die Anzahl der Systemaufrufe wĂ€hrend der AusfĂŒhrung auf ein Minimum reduziert. Die Sicherheit des libmicrohttpd-Codes wurde durch Audits von Mozilla und Red Hat bestĂ€tigt.

Die auffĂ€lligsten Änderungen im Vergleich zur vorherigen Version:

  • Der Code fĂŒr das Parsing von Client-Anfragen wurde neu geschrieben und vollstĂ€ndig an die Anforderungen der RFC 9110 und 9112 angepasst. Es wurden strikte und lockere Modusbedingungen fĂŒr die Einhaltung der Spezifikationen bereitgestellt, um zwischen KompatibilitĂ€t und höherer Sicherheit abzuwĂ€gen.
  • Die Implementierung der Digest-Authentifizierung wurde ĂŒberarbeitet, wobei die UnterstĂŒtzung der in RFC 7617 enthaltenen Funktionen erheblich erweitert wurde. Dazu gehört die UnterstĂŒtzung von SHA-512, userhash und username in erweiterter Notation. Zudem bleibt die UnterstĂŒtzung des alten RFC 2069 und die Verwendung von MD5- und SHA-256-Hashes erhalten.
  • Die Leistung in Multithread-Umgebungen und bei Socket-Polling-Methoden wurde verbessert.
  • Die Implementierung der Basic-Authentifizierung wurde ĂŒberarbeitet, fĂŒr die im ABI zusĂ€tzliche Funktionen angeboten werden.
  • Der Code fĂŒr die Initialisierung von GnuTLS wurde ĂŒberarbeitet. Es wurde die Möglichkeit hinzugefĂŒgt, sowohl eine generische als auch eine spezifische GnuTLS-Systemkonfiguration zu verwenden, sowie die UnterstĂŒtzung fĂŒr die Überschreibung einzelner Einstellungen der GnuTLS-Systemkonfiguration.

In Zukunft ist die Entwicklung der Version libmicrohttpd 2 geplant, die die UnterstĂŒtzung der Protokolle HTTP/2 und HTTP/3 gewĂ€hrleisten wird. Zudem wird an der Vereinfachung der API und der UnterstĂŒtzung verschiedener Backends fĂŒr TLS gearbeitet. Der Beginn der Arbeiten an der neuen Version wird vom Sovereign-Fonds finanziert, der in Deutschland gegrĂŒndet wurde, um die Entwicklung offener digitaler Infrastrukturen und Ökosysteme mit offenem Quellcode zu fördern.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster