Den første stabile utgivelsen av biblioteket GNU libmicrohttpd

GNU-prosjektet har publisert versjonen av biblioteket libmicrohttpd 1.0.0, som er merket som den første stabile utgivelsen på 16 år. Biblioteket er skrevet i C og gir et enkelt API for å integrere HTTP-serverfunksjonalitet i applikasjoner. Blant de støttede plattformene er: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 og z/OS. Koden distribueres under LGPL 2.1+. Når den bygges standard, tar biblioteket omtrent 200 KB, mens det i minimal bygningsmodus tar 32 KB. I avhengigheter brukes kun libc, samt libgnutls ved valg av bygging med støtte for TLS.

Biblioteket støtter HTTP 1.1-protokollen, TLS, inkrementell behandling av POST-forespørsel, mottak av tilkoblinger fra flere nettverksporter, basic- og digest-autentisering, IPv6, SHOUTcast, ulike metoder for multiplexing av tilkoblinger (select, poll, epoll) og modeller for flertråding (for eksempel kan du bruke en trådpool eller en tråd per tilkobling). For å redusere overhead som oppstår ved kontekstbytte mellom kjernen og brukermiljøet, er antallet systemkall under drift minimert. Sikkerheten i kodebasen libmicrohttpd er bekreftet av revisjoner utført av Mozilla og Red Hat.

De mest bemerkelsesverdige endringene sammenlignet med forrige utgivelse:

  • Koden for å analysere klientforespørslene er skrevet om og tilpasset kravene i RFC 9110 og 9112. Streng og mild overholdelse av spesifikasjonene er tilgjengelig for å balansere mellom kompatibilitet eller høyere sikkerhet.
  • Implementeringen av digest-autentiseringen er omarbeidet, og støtten for funksjoner fra RFC 7617 er betydelig utvidet. Dette inkluderer støtte for SHA-512, userhash og brukernavn i utvidet notasjon. Tidligere RFC 2069 og muligheten for å bruke MD5- og SHA-256-hash er også bevart.
  • Ytelsen er forbedret i flertrådede miljøer og under polingmoduser for sokler.
  • Implementeringen av basic-autentisering er omarbeidet, og det er foreslått ekstra funksjoner i ABI.
  • Koden for initialisering av GnuTLS er endret. Muligheten for å bruke både typisk og spesifikk for libmicrohttpd systemkonfigurasjon av GnuTLS er lagt til, samt støtte for overstyring av enkeltinnstillinger fra systemkonfigurasjonen til GnuTLS.

I framtiden er det planlagt å utvikle en gren av libmicrohttpd 2, som vil gi støtte for HTTP/2 og HTTP/3-protokollene, samt forenkle API-et og støtte for forskjellige backend-løsninger for TLS. Arbeidet med den nye grenen vil bli finansiert av Sovereign-fondet, som er etablert i Tyskland for å stimulere utviklingen av åpen digital infrastruktur og økosystemer med åpen kildekode.

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster