Første stabile utgivelse av GNU libmicrohttpd-biblioteket

GNU-prosjektet har gitt ut libmicrohttpd 1.0.0, som er den første stabile utgivelsen i prosjektets 16 år lange historie. Biblioteket er skrevet i C og tilbyr et enkelt API for å bygge inn HTTP-serverfunksjonalitet i applikasjoner. Støttede plattformer inkluderer: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 og z/OS. Koden distribueres under LGPL 2.1+-lisensen. Biblioteket er omtrent 200 KB i standard byggemodus og 32 KB i minimal byggemodus. Avhengigheter inkluderer kun libc, og libgnutls er valgfritt bygget med TLS-støtte.

Biblioteket støtter HTTP 1.1, TLS, inkrementell behandling av POST-forespørsler, aksept av tilkoblinger fra flere nettverksporter, grunnleggende autentisering og sammendrag, IPv6, SHOUTcast, ulike tilkoblingsmultipleksingsmetoder (velg, poll, epoll) og multithreading-modeller (du kan for eksempel bruk en trådbasseng eller tråd per tilkobling). For å redusere overheaden som påløper når konteksten bytter mellom kjernen og brukerområdet, holdes antall systemanrop under drift på et minimum. Sikkerheten til libmicrohttpd-kodebasen er bekreftet av revisjoner utført av Mozilla og Red Hat.

De mest merkbare endringene sammenlignet med forrige utgivelse:

  • Koden for å analysere klientforespørsler er skrevet om og bragt i full overensstemmelse med kravene i RFC 9110 og 9112. Overholdelsesmoduser for strenge og myke spesifikasjoner er gitt for å balansere mellom kompatibilitet og høyere sikkerhet.
  • Implementeringen av digest-autentisering har blitt omarbeidet, noe som betydelig utvider støtten for funksjonene som finnes i RFC 7617. Dette inkluderer støtte for SHA-512, brukerhash og brukernavn i utvidet notasjon. Støtte for den gamle RFC 2069 og muligheten til å bruke MD5- og SHA-256-hasher er også beholdt.
  • Forbedret ytelse i flertrådede miljøer og socket polling-moduser.
  • Implementeringen av grunnleggende autentisering har blitt omarbeidet, for hvilke tilleggsfunksjoner tilbys i ABI.
  • Omarbeidet GnuTLS-initieringskode. Lagt til muligheten til å bruke både standard og libmicrohttpd-spesifikk GnuTLS-systemkonfigurasjon, samt støtte for å overstyre individuelle GnuTLS-systemkonfigurasjonsinnstillinger.

I fremtiden planlegges det å utvikle libmicrohttpd 2-grenen, som skal gi støtte for HTTP/2- og HTTP/3-protokollene, samt arbeide med å forenkle API og støtte ulike backends for TLS. Starten av arbeidet med den nye grenen vil bli finansiert av Sovereign Foundation, etablert i Tyskland for å stimulere utviklingen av åpen digital infrastruktur og åpen kildekode-økosystemer.

Kilde: opennet.ru

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