GNU libmicrohttpd 0.9.74 er allerede blevet frigivet, og dette er nyhederne

nylig GNU-projektet frigav udgivelsen af den nye version af biblioteket libmicrohttpd 0.9.74, A repræsenterer en simpel API til indbygget HTTP-serverfunktionalitet i applikationer.

Bibliotek understøtter HTTP 1.1-protokol, TLS, trinvis behandling af POST-anmodninger, grundlæggende godkendelse og digest-godkendelse, IPv6, SHOUTcast og forskellige metoder til multipleksing af forbindelser (select, poll, pthread, thread pool), i øjeblikket har implementeringen understøttelse af forskellige understøttede platforme, herunder GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android , macOS, Win32, Symbian og z/OS.

GNU libmicrohttpd blev født på grund af dets forfatters behov, som på det tidspunkt havde brug for en nem måde at tilføje en samtidig HTTP-server til andre projekter. De eksisterende alternativer var ikke-gratis, ikke-reentrant, standalone, frygtelig kodekvalitet eller en kombination heraf.

Af egenskaberne der skiller sig ud for denne implementering:

  • Bibliotek C: hurtigt og lille
  • API'en er enkel, udtryksfuld og fuldstændig genindtræden.
  • Implementeringen er HTTP 1.1-kompatibel
  • HTTP-serveren kan lytte på flere porte
  • Flere trådetilstande: Kør på applikationstråd, intern tråd, trådpulje og tråd pr. forbindelse
  • Tre forskellige socket polling-tilstande: vælg (), polling () og epoll
  • Minimum antal systemkald for at undgå yderligere kerne-/brugertilstandsændringer
  • Understøttede platforme inkluderer GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana /
  • Solaris og z/OS
  • Support til IPv6
  • SHOUTcast support
  • Understøttelse af trinvis behandling af POST-data (valgfrit)
  • Understøttelse af grundlæggende og implicit godkendelse (valgfrit)
  • TLS-understøttelse (kræver libgnutls, valgfrit)
  • Det binære er kun omkring 32k (uden TLS-understøttelse og andre valgfrie funktioner)

De vigtigste nye funktioner i libmicrohttpd 0.9.74

I denne nye version, der præsenteres fra biblioteket, kan vi finde det tilføjet en eksperimentel implementering af WebSockets-protokollen, som ikke er gennemtestet endnu og er deaktiveret som standard.

En anden nyhed, der præsenteres, er det overholdelse af HTTP 1.0/1.1 protokolimplementeringsspecifikationerne blev forbedretDerudover blev koden omarbejdet for at afkode fragmenterede anmodninger.

Det fremhæves også, at tilføjet kode for automatisk at returnere fejl relateret til dårlige chunked anmodninger, for stor datastørrelse og forkert indstilling for indholdslængde-header.

Det er blevet realiseret interne optimeringer, for eksempel forbedret hukommelsesstyring, forbedret hash-effektivitet og eliminering af gentagne parsing af HTTP-metoden og protokolversionen.

Og det bemærkes også, at det gav en strengere validering af HTTP-headerværdierne, tillod brugen af ​​et tabulatortegn i svarheaderværdierne, men forbød brugen af ​​mellemrum i de tilpassede headerværdier.

Udover det, koden til at generere HTTP-headere som svar er blevet fuldstændig omskrevet og timeout-præcisionen er blevet øget fra sekunder til millisekunder.

Tilføjet byggemulighed –enable-sanitizers [= adresse, udefineret, læk, brugergift] for selektivt at aktivere problemdetektionstilstande i kode.

Rettede, præciserede, udvidede og forbedrede beskrivelserne af Doxy-funktioner, og nævner nu, at det burde være meget nemmere at lære MHD blot ved at læse overskrifterne.

Af de andre ændringer, der skiller sig ud i denne nye version:

  • Forbedrede funktionsbeskrivelser i microhttpd.h header-filen.
  • API funktioner tilføjet MHD_get_reason_phrase_len_for () og MHD_create_response_from_buffer_with_free_callback_cls (), MHD_CONNECTION_INFO_HTTP_STATUS flag, MHD_get_connection_info (), samt MHD_CONNECTION_INFO_HTTP_STATUS flag responser og MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_ responser.
  • Tilføjet projektfil til montering i MSVC.
  • Formationen af ​​svarheader blev fuldstændigt omskrevet. Den nye implementering er mere robust, lettere at vedligeholde og kan udvides og følger bedre RFC HTTP-specifikationerne.
  • Ydeevneforbedringer: Nu afkodes HTTP-version og anmodningsmetode kun én gang (tidligere brugte MHD mange strenge sammenligninger

Endelig hvis du er interesseret i at vide mere om det om denne udgivelse, kan du konsultere brugervejledningerne og andre oplysninger på dens hjemmeside.

Linket er dette.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.