Prima versiune stabilă a bibliotecii GNU libmicrohttpd

Proiectul GNU a publicat versiunea bibliotecii libmicrohttpd 1.0.0, care este marcată ca primul release stabil în 16 ani de existență a proiectului. Biblioteca este scrisă în limbajul C și furnizează o API simplă pentru încorporarea funcționalității unui server HTTP în aplicații. Printre platformele suportate se numără: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 și z/OS. Codul este distribuit sub licența LGPL 2.1+. La compilarea implicită, biblioteca ocupă aproximativ 200 KB, iar în modul de compilare minim este de 32 KB. În dependențe se folosește doar libc, precum și libgnutls în cazul compilării opționale cu suport pentru TLS.

Biblioteca suportă protocolul HTTP 1.1, TLS, procesarea incrementală a cererilor POST, acceptarea conexiunilor de pe mai multe porturi de rețea, autentificarea basic și digest, IPv6, SHOUTcast, diferite metode de multiplexare a conexiunilor (select, poll, epoll) și modele de multithreading (de exemplu, se poate folosi un pool de fire sau un fir pe conexiune). Pentru a reduce cheltuielile suplimentare generate de schimbarea contextului între nucleu și spațiul utilizatorului, numărul apelurilor de sistem în timpul funcționării este redus la minimum. Securitatea bazei de cod libmicrohttpd este confirmată prin audituri efectuate de companiile Mozilla și Red Hat.

Cele mai notabile modificări față de versiunea anterioară sunt:

  • Codul pentru analiza cererilor clienților a fost rescris și adus în conformitate completă cu cerințele RFC 9110 și 9112. S-au oferit moduri de respectare strictă și moale a specificațiilor pentru a echilibra între compatibilitate și o securitate mai înaltă.
  • Implementarea autentificării digest a fost revizuită, extinzând semnificativ suportul pentru caracteristicile prezente în RFC 7617. Aceasta include suport pentru SHA-512, userhash și username în notație extinsă. De asemenea, s-a menținut suportul pentru vechiul RFC 2069 și posibilitatea utilizării hash-urilor MD5 și SHA-256.
  • Funcționalitatea în medii multithreading și în modurile de polling ale socket-urilor a fost îmbunătățită.
  • Implementarea autentificării basic a fost revizuită, propunând funcții suplimentare în ABI.
  • Codul pentru inițializarea GnuTLS a fost refăcut. A fost adăugată posibilitatea utilizării atât a configurației GnuTLS standard, cât și a celei specifice libmicrohttpd, precum și suport pentru suprascrierea unor setări individuale ale configurației sistemului GnuTLS.

În continuare, se preconizează dezvoltarea ramurii libmicrohttpd 2, care va asigura suport pentru protocoalele HTTP/2 și HTTP/3, precum și simplificarea API-ului și suportul pentru diferite backend-uri pentru TLS. Începerea lucrărilor la noua ramură va fi finanțată de fondul Sovereign, înființat în Germania pentru a stimula dezvoltarea infrastructurii digitale deschise și a ecosistemelor cu sursă deschisă.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster