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

nedavno GNU projekt objavio je izdanje novu verziju knjižnice libmicrohttpd 0.9.74, Predstavlja jednostavan API za ugrađenu funkcionalnost HTTP poslužitelja u aplikacijama.

Knjižnica podržava HTTP 1.1 protokol, TLS, inkrementalnu obradu POST zahtjeva, osnovna i sažeta autentikacija, IPv6, SHOUTcast, te razne metode multipleksiranja (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 rođen zbog potrebe svog autora, koji je u to vrijeme trebao jednostavan način za dodavanje istodobnog HTTP poslužitelja drugim projektima. Postojeće alternative bile su neslobodne, nepovratne, samostalne, užasne kvalitete koda ili njihova kombinacija.

Od karakteristika koji se ističu u ovoj implementaciji:

  • Knjižnica C: brza i mala
  • API je jednostavan, izražajan i potpuno ponovni ulazak.
  • Implementacija je usklađena s HTTP 1.1
  • HTTP poslužitelj može slušati na više portova
  • Višestruki načini rada s nitima: Pokreni na niti aplikacije, unutarnjoj niti, grupi niti i niti po vezi
  • Tri različita načina prozivanja utičnice: 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 (izborno)
  • Podrška za osnovnu i implicitnu autentifikaciju (izborno)
  • TLS podrška (zahtijeva libgnutls, opcionalno)
  • Binarno je samo oko 32k (bez TLS podrške i drugih opcijskih značajki)

Glavne nove značajke libmicrohttpd 0.9.74

U ovoj novoj verziji koja je predstavljena iz knjižnice možemo to pronaći dodao eksperimentalnu implementaciju WebSockets protokola, koji još nije dobro testiran i onemogućen je prema zadanim postavkama.

Još jedna novost koja je predstavljena je ta poboljšana je usklađenost sa specifikacijama implementacije protokola HTTP 1.0 / 1.1Osim toga, kod je prerađen za dekodiranje fragmentiranih zahtjeva.

Također je istaknuto da dodan kod za automatski vraćanje pogrešaka povezanih s lošim zahtjevima, prevelika veličina podataka i netočna postavka zaglavlja Content-Length.

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

Također se napominje da je osigurao strožiju provjeru vrijednosti HTTP zaglavlja, dopustio korištenje znaka tabulatora u vrijednostima zaglavlja odgovora, ali je zabranio korištenje razmaka u prilagođenim vrijednostima zaglavlja.

Osim toga, kod za generiranje HTTP zaglavlja kao odgovor u potpunosti je prepisan a preciznost timeouta je povećana sa sekundi na milisekunde.

Dodana opcija izrade – omogući dezinfekciju [= adresa, nedefinirano, curenje, korisnički otrov] za selektivno omogućavanje načina otkrivanja problema u kodu.

Ispravljeni, pojašnjeni, prošireni i poboljšani opisi Doxy funkcija, sada spominjući da bi MHD trebalo biti puno lakše naučiti 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 zastava, MHD_get_connection_info (), kao i MHD_CONNECTION_INFO_HTTP_STATUS odgovori zastava, a MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_ odgovora.
  • Dodana projektna datoteka za montažu u MSVC.
  • Formiranje zaglavlja odgovora u potpunosti je 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 (prije je MHD koristio mnoge usporedbe nizova

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

Poveznica je ovo.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.