GNU libmicrohttpd 0.9.74 har allerede blitt utgitt, og dette er nyhetene

nylig GNU-prosjektet lanserte utgivelsen av den nye versjonen av biblioteket libmicrohttpd 0.9.74, En som representerer et enkelt API for innebygd HTTP-serverfunksjonalitet i applikasjoner.

Bibliotek støtter HTTP 1.1-protokoll, TLS, inkrementell behandling av POST-forespørsel, grunnleggende autentisering og sammendragsgodkjenning, IPv6, SHOUTcast og ulike metoder for multipleksing av tilkoblinger (velg, poll, pthread, thread pool), for tiden har implementeringen støtte for ulike støttede plattformer, inkludert GNU / Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android , macOS, Win32, Symbian og z/OS.

GNU libmicrohttpd ble født på grunn av behovet til forfatteren, som på det tidspunktet trengte en enkel måte å legge til en samtidig HTTP-server til andre prosjekter. De eksisterende alternativene var ikke-gratis, ikke-reentrant, frittstående, forferdelig kodekvalitet eller en kombinasjon av disse.

Av egenskapene som skiller seg ut for denne implementeringen:

  • Bibliotek C: raskt og lite
  • API-en er enkel, uttrykksfull og fullstendig reentry.
  • Implementeringen er HTTP 1.1-kompatibel
  • HTTP-serveren kan lytte på flere porter
  • Flere trådmoduser: Kjør på applikasjonstråd, intern tråd, trådpool og tråd per tilkobling
  • Tre forskjellige socket polling-moduser: velg (), polling () og epoll
  • Minimum antall systemanrop for å unngå ytterligere endringer i kjerne-/brukermodus
  • Støttede plattformer inkluderer GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana /
  • Solaris og z/OS
  • Støtte for IPv6
  • SHOUTcast-støtte
  • Støtte for inkrementell behandling av POST-data (valgfritt)
  • Støtte for grunnleggende og implisitt autentisering (valgfritt)
  • TLS-støtte (krever libgnutls, valgfritt)
  • Binæren er bare omtrent 32k (uten TLS-støtte og andre valgfrie funksjoner)

De viktigste nye funksjonene til libmicrohttpd 0.9.74

I denne nye versjonen som presenteres fra biblioteket kan vi finne det la til en eksperimentell implementering av WebSockets-protokollen, som ikke er godt testet ennå og er deaktivert som standard.

En annen nyhet som presenteres er det samsvar med implementeringsspesifikasjonene for HTTP 1.0 / 1.1-protokollen ble forbedretI tillegg ble koden omarbeidet for å dekode fragmenterte forespørsler.

Det er også fremhevet at lagt til kode for å automatisk returnere feil relatert til dårlige fragmenterte forespørsler, for stor datastørrelse og feil innstilling for innholdslengdeoverskrift.

Det har blitt realisert interne optimaliseringer, for eksempel forbedret minneadministrasjon, forbedret hash-effektivitet og eliminering av gjentatt parsing av HTTP-metoden og protokollversjonen.

Og det bemerkes også at det ga en strengere validering av HTTP-hodeverdiene, tillot bruk av et tabulatortegn i svarhodeverdiene, men forbudt bruk av mellomrom i de tilpassede overskriftsverdiene.

Bortsett fra det, koden for å generere HTTP-hoder som svar har blitt fullstendig omskrevet og tidsavbruddspresisjonen er økt fra sekunder til millisekunder.

Lagt til byggealternativ –enable-sanitizers [= adresse, udefinert, lekkasje, brukergift] for selektivt å aktivere problemdeteksjonsmoduser i kode.

Rettet, tydeliggjort, utvidet og forbedret beskrivelsene av Doxy-funksjoner, og nevner nå at det burde være mye lettere å lære MHD bare ved å lese overskriftene.

Av de andre endringene som skiller seg ut i denne nye versjonen:

  • Forbedrede funksjonsbeskrivelser i headerfilen microhttpd.h.
  • API-funksjoner tilsatt MHD_get_reason_phrase_len_for () og MHD_create_response_from_buffer_with_free_callback_cls (), MHD_CONNECTION_INFO_HTTP_STATUS flagg, MHD_get_connection_info (), så vel som MHD_CONNECTION_INFO_HTTP_STATUS flagg responser, og MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_ responser.
  • Lagt til prosjektfil for montering i MSVC.
  • Svarhodeformasjonen ble fullstendig omskrevet. Den nye implementeringen er mer robust, enklere å vedlikeholde og utvidbar, og følger RFC HTTP-spesifikasjonene bedre.
  • Ytelsesforbedringer: Nå dekodes HTTP-versjon og forespørselsmetode bare én gang (tidligere brukte MHD mange strengsammenligninger

Endelig hvis du er interessert i å vite mer om det om denne utgivelsen kan du se brukermanualene og annen informasjon på nettstedet.

Koblingen er denne.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.