GNU libmicrohttpd 0.9.74 har redan släppts och detta är dess nyheter

nyligen GNU-projektet släppte releasen av den nya versionen av biblioteket libmicrohttpd 0.9.74, A som representerar ett enkelt API för inbyggd HTTP-serverfunktionalitet i applikationer.

Bibliotek stöder HTTP 1.1-protokoll, TLS, POST-begäran inkrementell bearbetning, grundläggande autentisering och sammanfattningsautentisering, IPv6, SHOUTcast och olika metoder för multiplexering av anslutningar (select, poll, pthread, thread pool), för närvarande har implementeringen stöd för olika plattformar som stöds, inklusive GNU / Linux, FreeBSD, OpenBSD , NetBSD, Solaris, Android , macOS, Win32, Symbian och z/OS.

GNU libmicrohttpd föddes på grund av behovet av dess författare, som vid den tiden behövde ett enkelt sätt att lägga till en samtidig HTTP-server till andra projekt. De befintliga alternativen var icke-fria, icke-återkommande, fristående, fruktansvärda kodkvalitet eller en kombination därav.

Av egenskaperna som sticker ut för denna implementering:

  • Bibliotek C: snabbt och litet
  • API:et är enkelt, uttrycksfullt och helt nytt.
  • Implementeringen är HTTP 1.1-kompatibel
  • HTTP-servern kan lyssna på flera portar
  • Flera trådningslägen: Kör på applikationstråd, intern tråd, trådpool och tråd per anslutning
  • Tre olika socket polling-lägen: välj (), poll () och epoll
  • Minsta antal systemanrop för att undvika ytterligare kärn-/användarlägesändringar
  • Plattformar som stöds inkluderar GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana /
  • Solaris och z/OS
  • Stöd för IPv6
  • SHOUTcast-stöd
  • Stöd för inkrementell bearbetning av POST-data (valfritt)
  • Stöd för grundläggande och implicit autentisering (valfritt)
  • TLS-stöd (kräver libgnutls, valfritt)
  • Binären är bara cirka 32k (utan TLS-stöd och andra valfria funktioner)

De viktigaste nya funktionerna i libmicrohttpd 0.9.74

I denna nya version som presenteras från biblioteket kan vi hitta det lade till en experimentell implementering av WebSockets-protokollet, som inte är väl testad ännu och är inaktiverad som standard.

En annan nyhet som presenteras är det överensstämmelse med HTTP 1.0/1.1-protokollimplementeringsspecifikationerna förbättradesDessutom omarbetades koden för att avkoda fragmenterade förfrågningar.

Det framhävs också att lagt till kod för att automatiskt returnera fel relaterade till dåliga fragmenterade förfrågningar, för stor datastorlek och felaktig inställning för rubriken Content-Length.

Det har förverkligats interna optimeringar, till exempel förbättrad minneshantering, förbättrad hasheffektivitet och eliminering av upprepad analys av HTTP-metoden och protokollversionen.

Och det noteras också att det gav en striktare validering av HTTP-rubrikvärdena, tillät användningen av ett tabbtecken i svarsrubrikvärdena, men förbjöd användningen av mellanslag i de anpassade rubrikvärdena.

Förutom det, koden för att generera HTTP-rubriker som svar har skrivits om helt och timeoutprecisionen har ökats från sekunder till millisekunder.

Lade till byggalternativ –enable-sanitizers [= adress, odefinierad, läcka, användargift] för att selektivt aktivera problemdetekteringslägen i kod.

Fixade, förtydligade, utökade och förbättrade beskrivningar av Doxy-funktioner, och nämner nu att det borde vara mycket lättare att lära sig MHD bara genom att läsa rubrikerna.

Av de andra förändringarna som sticker ut i den här nya versionen:

  • Förbättrade funktionsbeskrivningar i rubrikfilen microhttpd.h.
  • API-funktioner tillagda MHD_get_reason_phrase_len_for () och MHD_create_response_from_buffer_with_free_callback_cls (), MHD_CONNECTION_INFO_HTTP_STATUS sjunker, MHD_get_connection_info (), liksom MHD_CONNECTION_INFO_HTTP_STATUS flag svar och MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_ responser.
  • Lade till projektfil för montering i MSVC.
  • Svarsrubriken skrevs om helt. Den nya implementeringen är mer robust, enklare att underhålla och expanderbar och följer bättre RFC HTTP-specifikationerna.
  • Prestandaförbättringar: Nu avkodas HTTP-version och begäranmetod endast en gång (tidigare använde MHD många strängjämförelser

Slutligen om du är intresserad av att veta mer om det om den här utgåvan kan du konsultera användarmanualerna och annan information på dess webbplats.

Länken är den här.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.