GNU libmicrohttpd 0.9.74 is al vrijgegeven en dit is het nieuws

onlangs het GNU-project heeft de release vrijgegeven van: de nieuwe versie van de bibliotheek libmicrohttpd 0.9.74, A vertegenwoordigt een eenvoudige API voor ingebouwde HTTP-serverfunctionaliteit in toepassingen.

De bibliotheek ondersteunt HTTP 1.1-protocol, TLS, incrementele verwerking van POST-verzoeken, basis- en digest-authenticatie, IPv6, SHOUTcast en verschillende methoden voor het multiplexen van verbindingen (select, poll, pthread, thread pool), momenteel heeft de implementatie ondersteuning voor verschillende ondersteunde platforms, waaronder GNU / Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android , macOS, Win32, Symbian en z / OS.

GNU libmicrohttpd werd geboren vanwege de behoefte van de auteur, die op dat moment een gemakkelijke manier nodig had om een ​​gelijktijdige HTTP-server aan andere projecten toe te voegen. De bestaande alternatieven waren non-free, non-reentrant, standalone, verschrikkelijke codekwaliteit, of een combinatie daarvan.

Van de kenmerken die opvallen bij deze uitvoering:

  • Bibliotheek C: snel en klein
  • De API is eenvoudig, expressief en volledig opnieuw in te voeren.
  • De implementatie is HTTP 1.1-compatibel
  • HTTP-server kan op meerdere poorten luisteren
  • Meerdere threading-modi: uitvoeren op toepassingsthread, interne thread, threadpool en thread per verbinding
  • Drie verschillende polling-modi voor sockets: selecteer (), poll () en epoll
  • Minimum aantal systeemaanroepen om extra wijzigingen in de kernel / gebruikersmodus te voorkomen
  • Ondersteunde platforms zijn onder andere GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana /
  • Solaris en z / OS
  • Ondersteuning voor IPv6
  • SHOUTcast-ondersteuning
  • Ondersteuning voor incrementele verwerking van POST-gegevens (optioneel)
  • Ondersteuning voor basis- en impliciete authenticatie (optioneel)
  • TLS-ondersteuning (libgnutls vereist, optioneel)
  • Het binaire bestand is slechts ongeveer 32k (zonder TLS-ondersteuning en andere optionele functies)

Belangrijkste nieuwe functies van libmicrohttpd 0.9.74

In deze nieuwe versie die vanuit de bibliotheek wordt gepresenteerd, kunnen we dat vinden: een experimentele implementatie van het WebSockets-protocol toegevoegd, die nog niet goed is getest en standaard is uitgeschakeld.

Een andere nieuwigheid die wordt gepresenteerd, is dat: naleving van de HTTP 1.0 / 1.1-protocolimplementatiespecificaties is verbeterdBovendien werd de code herwerkt om gefragmenteerde verzoeken te decoderen.

Dat wordt ook benadrukt toegevoegde code om automatisch fouten te retourneren met betrekking tot slecht gesegmenteerde verzoeken, te grote gegevensgrootte en onjuiste header-instelling voor inhoudslengte.

Het is gerealiseerd interne optimalisaties, bijvoorbeeld verbeterd geheugenbeheer, verbeterde hash-efficiëntie en eliminatie van repetitieve parsing van de HTTP-methode en protocolversie.

En er wordt ook opgemerkt dat het een striktere validatie van de HTTP-headerwaarden bood, het gebruik van een tabteken in de responsheaderwaarden toestond, maar het gebruik van spaties in de aangepaste headerwaarden verbood.

Daarnaast, de code om als reactie HTTP-headers te genereren, is volledig herschreven en de nauwkeurigheid van de time-out is verhoogd van seconden naar milliseconden.

Bouwoptie toegevoegd -enable-sanitizers [= adres, ongedefinieerd, lek, gebruikersgif] om selectief probleemdetectiemodi in code in te schakelen.

De beschrijvingen van Doxy-functies gecorrigeerd, verduidelijkt, uitgebreid en verbeterd, waarbij nu wordt vermeld dat het veel gemakkelijker zou moeten zijn om MHD te leren door alleen de kopjes te lezen.

Van de andere veranderingen die opvallen in deze nieuwe versie:

  • Verbeterde functiebeschrijvingen in het microhttpd.h-headerbestand.
  • API-functies toegevoegd MHD_get_reason_phrase_len_for () en MHD_create_response_from_buffer_with_free_callback_cls (), MHD_CONNECTION_INFO_HTTP_STATUS vlag, MHD_get_connection_info (), alsmede MHD_CONNECTION_INFO_HTTP_STATUS vlag reacties en MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_ reacties.
  • Projectbestand toegevoegd voor montage in MSVC.
  • De vorming van de responsheader werd volledig herschreven. De nieuwe implementatie is robuuster, gemakkelijker te onderhouden en uitbreidbaar, en volgt beter de RFC HTTP-specificaties.
  • Prestatieverbeteringen: nu worden de HTTP-versie en de aanvraagmethode slechts één keer gedecodeerd (voorheen gebruikte MHD veel tekenreeksen)

Eindelijk als u er meer over wilt weten over deze release kunt u de gebruikershandleidingen en andere informatie raadplegen op haar website.

De link is dit.


Wees de eerste om te reageren

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.