GNU libmicrohttpd 0.9.74 je već objavljen i ovo su njegove vijesti

Nedavno GNU projekat je objavio izdanje novu verziju biblioteke libmicrohttpd 0.9.74, Predstavlja jednostavan API za ugrađenu funkcionalnost HTTP servera u aplikacijama.

Biblioteka podržava HTTP 1.1 protokol, TLS, inkrementalnu obradu POST zahtjeva, osnovna i sažeta autentikacija, IPv6, SHOUTcast, te razne metode za multipleksiranje veza (select, poll, pthread, thread pool), trenutno implementacija ima podršku za različite podržane platforme, uključujući GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android , macOS, Win32, Symbian i z / OS.

GNU libmicrohttpd je nastao zbog potrebe svog autora, kome je u to vrijeme bio potreban jednostavan način da doda istovremeni HTTP server drugim projektima. Postojeće alternative su bile neslobodne, nepovratne, samostalne, užasnog kvaliteta koda ili njihova kombinacija.

Od karakteristika koji se ističu ovom implementacijom:

  • Biblioteka C: brza i mala
  • API je jednostavan, izražajan i potpuno ponovni ulazak.
  • Implementacija je usklađena sa HTTP 1.1
  • HTTP server može slušati na više portova
  • Višestruki načini obrade niti: Pokreni na niti aplikacije, internoj niti, grupi niti i niti po konekciji
  • Tri različita načina prozivanja soketa: odabir (), anketa () i epoll
  • Minimalni broj sistemskih poziva kako bi se izbjegle dodatne promjene kernela / korisničkog načina rada
  • Podržane platforme uključuju GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana /
  • Solaris i z/OS
  • Podrška za IPv6
  • SHOUTcast podrška
  • Podrška za inkrementalnu obradu POST podataka (opciono)
  • Podrška za osnovnu i implicitnu autentifikaciju (opcionalno)
  • TLS podrška (zahteva libgnutls, opciono)
  • Binarno je samo oko 32k (bez TLS podrške i drugih opcionih funkcija)

Glavne nove karakteristike libmicrohttpd 0.9.74

U ovoj novoj verziji koja je predstavljena iz biblioteke to možemo pronaći dodao eksperimentalnu implementaciju WebSockets protokola, koji još nije dobro testiran i po defaultu je onemogućen.

Još jedna novost koja je predstavljena je ta poboljšana je usklađenost sa specifikacijama implementacije HTTP 1.0 / 1.1 protokolaOsim toga, kod je prerađen da dekodira fragmentirane zahtjeve.

Takođe je istaknuto da dodan kod za automatski vraćanje grešaka koje se odnose na loše podijeljene zahtjeve, prevelika veličina podataka i netačna postavka zaglavlja Content-Length.

Ostvareno je interne optimizacije, na primjer, poboljšano upravljanje memorijom, poboljšana efikasnost heširanja i eliminacija ponavljajućeg raščlanjivanja HTTP metode i verzije protokola.

Takođe se napominje da je obezbedio strožiju validaciju vrednosti HTTP zaglavlja, dozvolio upotrebu znaka tabulatora u vrednostima zaglavlja odgovora, ali je zabranio upotrebu razmaka u prilagođenim vrednostima zaglavlja.

Pored toga, kod za generiranje HTTP zaglavlja kao odgovor je potpuno prepisan a preciznost vremenskog ograničenja je povećana sa sekundi na milisekunde.

Dodata opcija izgradnje –enable-sanitizers [= adresa, nedefinisano, curenje, korisnički otrov] za selektivno omogućavanje načina otkrivanja problema u kodu.

Ispravljeni, razjašnjeni, prošireni i poboljšani opisi Doxy funkcija, uz napomenu da bi trebalo biti mnogo lakše naučiti MHD samo čitanjem naslova.

Od ostalih promjena koje se ističu u ovoj novoj verziji:

  • Poboljšani opisi funkcija u datoteci zaglavlja microhttpd.h.
  • API funkcije dodao MHD_get_reason_phrase_len_for () i MHD_create_response_from_buffer_with_free_callback_cls (), MHD_CONNECTION_INFO_HTTP_STATUS zastavu, MHD_get_connection_info (), kao i MHD_CONNECTION_INFO_HTTP_STATUS zastavu odgovora, i MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_ odgovora.
  • Dodan projektni fajl za montažu u MSVC.
  • Formiranje zaglavlja odgovora je potpuno prepisano. Nova implementacija je robusnija, lakša za održavanje i proširiva, te bolje prati RFC HTTP specifikacije.
  • Poboljšanja performansi: Sada se HTTP verzija i metoda zahtjeva dekodiraju samo jednom (ranije je MHD koristio mnogo poređenja nizova

Konačno ako ste zainteresirani da saznate više o tome o ovom izdanju, možete pogledati korisničke priručnike i druge informacije na njegovoj web stranici.

Link je ovaj.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.