El Projecte GNU ha publicat libmicrohttpd 1.0.0, la primera versió estable en els 16 anys d'història del projecte. La biblioteca està escrita en C i proporciona una API senzilla per integrar la funcionalitat del servidor HTTP a les aplicacions. Les plataformes compatibles inclouen: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 и z/OS. Код распространяется под лицензией LGPL 2.1+. При сборке по умолчанию библиотека занимает около 200 КБ, а в минимальном режиме сборки — 32 КБ. В зависимостях используется только libc, а также libgnutls при опциональной сборке с поддержкой TLS.
La biblioteca admet el protocol HTTP 1.1, TLS, processament incremental de sol·licituds POST, acceptació de connexions des de diversos ports de xarxa, autenticació bàsica i de resum, IPv6, SHOUTcast, diversos mètodes de multiplexació de connexions (select, poll, epoll) i models multithreading (per exemple, vostè pot utilitzar un grup de fils o fil per connexió). Per reduir la sobrecàrrega incorreguda quan es canvia de context entre el nucli i l'espai d'usuari, el nombre de trucades al sistema durant el funcionament es manté al mínim. La seguretat de la base de codi libmicrohttpd ha estat confirmada per auditories realitzades per Mozilla i Red Hat.
Els canvis més notables en comparació amb l'última versió:
- El codi per analitzar les sol·licituds dels clients s'ha reescrit i s'ha posat en total compliment amb els requisits de RFC 9110 i 9112. Es proporcionen modes de compliment d'especificacions estrictes i suaus per equilibrar la compatibilitat o la seguretat més alta.
- S'ha reelaborat la implementació de l'autenticació de resum, la qual cosa amplia significativament el suport per a les característiques presents a RFC 7617. Això inclou suport per SHA-512, userhash i nom d'usuari en notació estesa. També es manté el suport per a l'antiga RFC 2069 i la possibilitat d'utilitzar hash MD5 i SHA-256.
- Rendiment millorat en entorns multifils i modes de sondeig de sòcols.
- S'ha reelaborat la implementació de l'autenticació bàsica, per a la qual s'ofereixen funcions addicionals a l'ABI.
- Codi d'inicialització GnuTLS reelaborat. S'ha afegit la possibilitat d'utilitzar la configuració del sistema GnuTLS estàndard i específica de libmicrohttpd, així com suport per anul·lar la configuració individual del sistema GnuTLS.
En el futur, està previst desenvolupar la branca libmicrohttpd 2, que donarà suport als protocols HTTP/2 i HTTP/3, així com treballar per simplificar l'API i donar suport a diversos backends per a TLS. L'inici de les obres de la nova branca serà finançat per la Sovereign Foundation, establerta a Alemanya per estimular el desenvolupament d'infraestructura digital oberta i ecosistemes de codi obert.
Font: opennet.ru
