GNU libmicrohttpd 0.9.74 je že izšel in to so njegove novice

Pred kratkim projekt GNU je izdal izdajo novo različico knjižnice libmicrohttpd 0.9.74, Predstavlja preprost API za vgrajeno funkcionalnost strežnika HTTP v aplikacijah.

Knjižnica podpira protokol HTTP 1.1, TLS, postopno obdelavo zahtev POST, osnovno in digest avtentikacijo, IPv6, SHOUTcast in različne metode multipleksiranja povezav (select, poll, pthread, thread pool), trenutno ima implementacija podporo za različne podprte platforme, vključno z GNU / Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android , macOS, Win32, Symbian in z/OS.

GNU libmicrohttpd se je rodil zaradi potrebe svojega avtorja, ki je takrat potreboval enostaven način za dodajanje sočasnega strežnika HTTP drugim projektom. Obstoječe alternative so bile neproste, neponovljive, samostojne, strašne kakovosti kode ali njihova kombinacija.

Od značilnosti ki izstopajo pri tej izvedbi:

  • Knjižnica C: hitra in majhna
  • API je preprost, ekspresiven in popolnoma ponovni vnos.
  • Izvedba je skladna s HTTP 1.1
  • Strežnik HTTP lahko posluša na več vratih
  • Več nitnih načinov: Zaženi na aplikacijski niti, Notranja nit, Pool niti in Nit na povezavo
  • Trije različni načini anketiranja vtičnice: izbira (), anketa () in epoll
  • Najmanjše število sistemskih klicev, da se izognete dodatnim spremembam jedra/uporabniškega načina
  • Podprte platforme vključujejo GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana /
  • Solaris in z/OS
  • Podpora za IPv6
  • Podpora SHOUTcast
  • Podpora za postopno obdelavo podatkov POST (izbirno)
  • Podpora za osnovno in implicitno preverjanje pristnosti (izbirno)
  • Podpora TLS (zahteva libgnutls, neobvezno)
  • Binarna datoteka je samo približno 32k (brez podpore TLS in drugih izbirnih funkcij)

Glavne nove funkcije libmicrohttpd 0.9.74

V tej novi različici, ki je predstavljena iz knjižnice, lahko to najdemo dodal eksperimentalno implementacijo protokola WebSockets, ki še ni dobro preizkušen in je privzeto onemogočen.

Druga predstavljena novost je ta izboljšana je bila skladnost s specifikacijami implementacije protokola HTTP 1.0 / 1.1Poleg tega je bila koda predelana za dekodiranje razdrobljenih zahtev.

Poudarjeno je tudi, da dodana koda za samodejno vračanje napak, povezanih s slabo razdeljenimi zahtevami, prevelika velikost podatkov in napačna nastavitev glave Content-Length.

Uresničeno je bilo notranje optimizacije, na primer izboljšano upravljanje pomnilnika, izboljšana učinkovitost zgoščevanja in odprava ponavljajočega razčlenjevanja metode HTTP in različice protokola.

Opozoriti je tudi, da je zagotovil strožje preverjanje vrednosti glave HTTP, dovolil uporabo znaka tabulatorja v vrednostih glave odgovora, vendar je prepovedal uporabo presledkov v vrednostih glave po meri.

Poleg tega, koda za generiranje glav HTTP kot odgovor je bila popolnoma prepisana in natančnost časovne omejitve je bila povečana s sekund na milisekunde.

Dodana možnost gradnje – omogoči-sanitizers [= naslov, nedefinirano, puščanje, uporabniški strup] za selektivno omogočanje načinov odkrivanja težav v kodi.

Popravljeni, razjasnili, razširjeni in izboljšani opisi funkcij Doxy, zdaj pa omenjeno, da bi se bilo veliko lažje naučiti MHD samo z branjem naslovov.

Od ostalih sprememb, ki izstopajo v tej novi različici:

  • Izboljšani opisi funkcij v naslovni datoteki microhttpd.h.
  • Dodana funkcije API MHD_get_reason_phrase_len_for () in MHD_create_response_from_buffer_with_free_callback_cls (), MHD_CONNECTION_INFO_HTTP_STATUS zastava, MHD_get_connection_info (), kot tudi MHD_CONNECTION_INFO_HTTP_STATUS odzivi zastave, in odzivi MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_.
  • Dodana projektna datoteka za sestavljanje v MSVC.
  • Oblikovanje glave odgovora je bilo popolnoma na novo napisano. Nova izvedba je robustnejša, enostavnejša za vzdrževanje in razširljiva ter bolje sledi specifikacijam RFC HTTP.
  • Izboljšave zmogljivosti: različica HTTP in metoda zahteve sta zdaj dekodirana samo enkrat (prej je MHD uporabljal veliko primerjavo nizov

Končno če vas zanima več o tem o tej izdaji si lahko ogledate uporabniške priročnike in druge informacije na njenem spletnem mestu.

Povezava je to.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.