Prvo stabilno izdanje biblioteke GNU libmicrohttpd

Projekt GNU objavio je izdanja biblioteke libmicrohttpd 1.0.0, koje se označava kao prvo stabilno izdanje nakon 16 godina postojanja projekta. Biblioteka je napisana na jeziku C i nudi jednostavni API za ugrađivanje funkcionalnosti HTTP servera u aplikacije. Među podržanim platformama su: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 i z/OS. Kod je distribuiran pod licencom LGPL 2.1+. Prilikom kompilacije, biblioteka prema zadanim postavkama zauzima oko 200 KB, dok u minimalnom režimu kompilacije zauzima 32 KB. U zavisnostima se koristi samo libc, a takođe i libgnutls prilikom opcionalne kompilacije sa podrškom za TLS.

Biblioteka podržava protokol HTTP 1.1, TLS, inkrementalnu obradu POST zahteva, prihvatanje veza sa više mrežnih portova, basic i digest autentifikaciju, IPv6, SHOUTcast, razne metode multiplexiranja veza (select, poll, epoll) i modele višestrukog izvršavanja (npr. može se koristiti pool niti ili nit po vezi). Kako bi se smanjili troškovi povezani sa prebacivanjem konteksta između jezgra i prostora korisnika, broj sistemskih poziva tijekom rada smanjen je na minimum. Bezbednost kodeksa libmicrohttpd potvrđena je auditima koje su sprovele kompanije Mozilla i Red Hat.

Najistaknutije promene u odnosu na prethodno izdanje:

  • Kod za obradu zahteva klijenata potpuno je napisan ispočetka i doveden u skladu sa zahtevima RFC 9110 i 9112. Obezbeđeni su režimi stroge i meke usklađenosti sa specifikacijama za ravnotežu između kompatibilnosti i veće bezbednosti.
  • Preuređena je implementacija digest autentifikacije, koja je značajno proširila podršku funkcionalnostima prisutnim u RFC 7617. Uključena je podrška za SHA-512, userhash i username u proširenoj notaciji. Takođe je zadržana podrška za stariji RFC 2069 i mogućnost korišćenja MD5 i SHA-256 hešova.
  • Poboljšan je rad u višestrukim okruženjima i u režimima polinga soketa.
  • Preuređena je implementacija basic autentifikacije, za koju su u ABI predložene dodatne funkcije.
  • Kod za inicijalizaciju GnuTLS je preuređen. Dodana je mogućnost korišćenja kako tipične, tako i specifične za libmicrohttpd sistemske konfiguracije GnuTLS, kao i podrška za prepisivanje pojedinačnih podešavanja sistemske konfiguracije GnuTLS.

U budućnosti je planirano raditi na razvoju grane libmicrohttpd 2, u kojoj će biti osigurana podrška za protokole HTTP/2 i HTTP/3, kao i pojednostavljivanje API-ja i podrška za različite backendove za TLS. Početak rada na novoj grani bit će financiran od strane fonda Sovereign, osnovanog u Njemačkoj za poticanje razvoja otvorene digitalne infrastrukture i ekosustava s otvorenim kodom.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster