GNU libmicrohttpd 0.9.74 tashmë është lëshuar dhe këto janë të rejat e tij

kohët e fundit projekti GNU publikoi publikimin e versioni i ri i bibliotekës libmicrohttpd 0.9.74, Një API që përfaqëson një API të thjeshtë për funksionalitetin e integruar të serverit HTTP në aplikacione.

Librari mbështet protokollin HTTP 1.1, TLS, përpunimin në rritje të kërkesës POST, vërtetimi themelor dhe i përmbledhur, IPv6, SHOUTcast dhe metoda të ndryshme për lidhjet e shumëfishta (select, poll, pthread, thread pool), aktualisht zbatimi ka mbështetje për platforma të ndryshme të mbështetura, duke përfshirë GNU / Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android , macOS, Win32, Symbian dhe z / OS.

GNU libmicrohttpd lindi për shkak të nevojës së autorit të tij, i cili në atë kohë kishte nevojë për një mënyrë të thjeshtë për të shtuar një server HTTP të njëkohshëm në projekte të tjera. Alternativat ekzistuese ishin jo të lira, pa hyrje, të pavarura, me cilësi të tmerrshme të kodit ose një kombinim i tyre.

Nga karakteristikat që dallohen nga ky zbatim:

  • Biblioteka C: e shpejtë dhe e vogël
  • API është i thjeshtë, shprehës dhe plotësisht i rihyrjes.
  • Zbatimi është në përputhje me HTTP 1.1
  • Serveri HTTP mund të dëgjojë në porte të shumta
  • Mënyra të shumëfishta të filetimit: Ekzekutoni në fillin e aplikacionit, fillin e brendshëm, grupin e fillesave dhe fijet për lidhje
  • Tre mënyra të ndryshme socket sondazhi: zgjidhni (), sondazh () dhe epoll
  • Numri minimal i thirrjeve të sistemit për të shmangur ndryshimet shtesë të kernelit / modalitetit të përdoruesit
  • Platformat e mbështetura përfshijnë GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana /
  • Solaris dhe z / OS
  • Mbështetje për IPv6
  • mbështetje SHOUTcast
  • Mbështetje për përpunimin në rritje të të dhënave POST (opsionale)
  • Mbështetje për vërtetimin bazë dhe të nënkuptuar (opsionale)
  • Mbështetje TLS (kërkon libgnutls, opsionale)
  • Binar është vetëm rreth 32k (pa mbështetje TLS dhe veçori të tjera opsionale)

Karakteristikat kryesore të reja të libmicrohttpd 0.9.74

Në këtë version të ri të bibliotekës ne mund ta gjejmë atë shtoi një zbatim eksperimental të protokollit WebSockets, i cili ende nuk është testuar mirë dhe është i çaktivizuar si parazgjedhje.

Një tjetër risi që paraqitet është ajo u përmirësua përputhshmëria me specifikimet e zbatimit të protokollit HTTP 1.0 / 1.1Përveç kësaj, kodi u ripunua për të deshifruar kërkesat e fragmentuara.

Theksohet gjithashtu se kodi i shtuar për të kthyer automatikisht gabimet që lidhen me kërkesat e ndara keq, madhësi shumë e madhe e të dhënave dhe cilësim i gabuar i kokës së gjatësisë së përmbajtjes.

Shtë realizuar optimizimet e brendshme, për shembull, përmirësimi i menaxhimit të kujtesës, përmirësimi i efikasitetit të hash-it dhe eliminimi i analizës së përsëritur të metodës HTTP dhe versionit të protokollit.

Gjithashtu vihet re se ai siguroi një vërtetim më të rreptë të vlerave të kokës HTTP, lejoi përdorimin e një karakteri skedash në vlerat e kokës së përgjigjes, por ndaloi përdorimin e hapësirave në vlerat e personalizuara të kokës.

Përveç kësaj, kodi për të gjeneruar titujt HTTP si përgjigje është rishkruar plotësisht dhe saktësia e skadimit është rritur nga sekonda në milisekonda.

U shtua opsioni i ndërtimit – enable-sanitizers [= adresa, e papërcaktuar, rrjedhje, helmi i përdoruesit] për të aktivizuar në mënyrë selektive mënyrat e zbulimit të problemeve në kod.

Korrigjoi, sqaroi, zgjeroi dhe përmirësoi përshkrimet e funksioneve Doxy, duke përmendur tani se duhet të jetë shumë më e lehtë të mësosh MHD vetëm duke lexuar titujt.

Nga ndryshimet e tjera që bien në sy në këtë version të ri:

  • Përshkrime të përmirësuara të funksioneve në skedarin e kokës microhttpd.h.
  • funksionet API shtuar MHD_get_reason_phrase_len_for () dhe MHD_create_response_from_buffer_with_free_callback_cls (), MHD_CONNECTION_INFO_HTTP_STATUS flamuri, MHD_get_connection_info (), si dhe përgjigjet MHD_CONNECTION_INFO_HTTP_STATUS flamur, dhe përgjigjet MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_.
  • U shtua skedari i projektit për montim në MSVC.
  • Formimi i kokës së përgjigjes u rishkrua plotësisht. Implementimi i ri është më i fortë, më i lehtë për t'u mirëmbajtur dhe i zgjerueshëm dhe ndjek më mirë specifikimet RFC HTTP.
  • Përmirësimet e performancës: Tani versioni HTTP dhe metoda e kërkesës deshifrohen vetëm një herë (më parë MHD përdorte shumë krahasime të vargjeve

Më në fund nëse jeni të interesuar të dini më shumë për të në lidhje me këtë version, mund të konsultoni manualet e përdoruesit dhe informacione të tjera në faqen e saj të internetit.

Lidhja është kjo.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.