Den första stabila versionen av GNU libmicrohttpd-biblioteket

GNU-projektet har publicerat version 1.0.0 av biblioteket libmicrohttpd, som markerar den första stabila utgÄvan pÄ 16 Är. Biblioteket Àr skrivet i C och erbjuder ett enkelt API för att integrera HTTP-servrar i applikationer. Bland de stödjande plattformarna finns: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 och z/OS. Koden distribueras under LGPL 2.1+. Vid standardkompilering upptar biblioteket cirka 200 KB, och i minimal kompilering betyder det 32 KB. Endast libc anvÀnds som beroende, samt libgnutls vid valfri kompilering med TLS-stöd.

Biblioteket stödjer protokollen HTTP 1.1, TLS, inkrementell hantering av POST-förfrÄgningar, mottagning av anslutningar frÄn flera nÀtverksportar, basic- och digest-autentisering, IPv6, SHOUTcast, olika metoder för multiplexering av anslutningar (select, poll, epoll) samt trÄdmodeller (till exempel kan en trÄdpool eller en trÄd per anslutning anvÀndas). För att minska overhead vid kontextbyten mellan kÀrnan och anvÀndarutrymmet har antalet systemanrop under drift minimerats. SÀkerheten i kodbasen för libmicrohttpd har bekrÀftats av revisioner utförda av Mozilla och Red Hat.

De mest anmÀrkningsvÀrda förÀndringarna jÀmfört med föregÄende version:

  • Koden för parsning av klientförfrĂ„gningar har skrivits om och anpassats helt i enlighet med kraven i RFC 9110 och 9112. Strikta och mjuka lĂ€gen för att följa specifikationerna har implementerats för att balansera mellan kompatibilitet och högre sĂ€kerhet.
  • Implementeringen av digest-autentisering har omarbetats, vilket kraftigt har utökat stödet för funktionerna i RFC 7617. Stöd för SHA-512, userhash och anvĂ€ndarnamn i utvidgad notation har inkluderats. Stöd för den gamla RFC 2069 samt möjlighet att anvĂ€nda MD5- och SHA-256-hashar har ocksĂ„ bevarats.
  • Prestandan har förbĂ€ttrats i flertrĂ„dade miljöer och vid socket-polllĂ€gen.
  • Implementeringen av basic-autentisering har omarbetats, och ytterligare funktioner har föreslagits i ABI.
  • Koden för att initiera GnuTLS har omarbetats. Möjligheten att anvĂ€nda bĂ„de standard- och libmicrohttpd-specifik systemkonfiguration för GnuTLS har lagts till, liksom stöd för att Ă„sidosĂ€tta vissa instĂ€llningar i systemkonfigurationen för GnuTLS.

I framtiden planeras utvecklingen av grenen libmicrohttpd 2, dÀr stöd för protokollen HTTP/2 och HTTP/3 kommer att sÀkerstÀllas, samt arbete för att förenkla API och stödja olika backend-lösningar för TLS. Arbetet med den nya grenen kommer att finansieras av fonden Sovereign, som inrÀttades i Tyskland för att stimulera utvecklingen av öppen digital infrastruktur och ekosystem med öppen kÀllkod.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster