GNU libmicrohttpd 0.9.74 jau buvo išleista ir tai yra jos naujienos

Neseniai GNU projektas išleido leidimą nauja bibliotekos versija libmicrohttpd 0.9.74, Tai paprastas API, skirtas programose integruotam HTTP serverio funkcionalumui.

Biblioteka palaiko HTTP 1.1 protokolą, TLS, POST užklausų laipsnišką apdorojimą, pagrindinis ir santraukos autentifikavimas, IPv6, SHOUTcast ir įvairūs jungčių tankinimo metodai (pasirinkimas, apklausa, pthread, gijų telkinys), šiuo metu diegimas palaiko įvairias palaikomas platformas, įskaitant GNU / Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android. , macOS, Win32, Symbian ir z / OS.

GNU libmicrohttpd atsirado dėl jo autoriaus poreikio, kuriam tuo metu reikėjo paprasto būdo pridėti vienu metu esantį HTTP serverį prie kitų projektų. Esamos alternatyvos buvo nelaisvos, negrįžtamos, atskiros, siaubingos kodo kokybės arba jų derinys.

Iš charakteristikų kurie išsiskiria šiuo įgyvendinimu:

  • Biblioteka C: greita ir maža
  • API yra paprasta, išraiškinga ir visiškai grįžtama.
  • Diegimas yra suderinamas su HTTP 1.1
  • HTTP serveris gali klausytis keliuose prievaduose
  • Keli gijų kūrimo režimai: paleiskite programos gijoje, vidinėje gijoje, gijų telkinyje ir gijoje per ryšį
  • Trys skirtingi lizdo apklausos režimai: pasirinkti (), apklausa () ir elektroninė apklausa
  • Minimalus sistemos iškvietimų skaičius, kad būtų išvengta papildomų branduolio / vartotojo režimo pakeitimų
  • Palaikomos platformos yra GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana /
  • Solaris ir z / OS
  • IPv6 palaikymas
  • SHOUTcast palaikymas
  • Laipsniško POST duomenų apdorojimo palaikymas (neprivaloma)
  • Pagrindinio ir numanomo autentifikavimo palaikymas (neprivaloma)
  • TLS palaikymas (reikia libgnutls, neprivaloma)
  • Dvejetainė versija yra tik apie 32 XNUMX (be TLS palaikymo ir kitų pasirenkamų funkcijų)

Pagrindinės naujos libmicrohttpd 0.9.74 funkcijos

Šioje naujoje versijoje, kuri pateikiama iš bibliotekos, galime tai rasti pridėtas eksperimentinis WebSockets protokolo įgyvendinimas, kuri dar nėra gerai išbandyta ir pagal numatytuosius nustatymus yra išjungta.

Kita pristatoma naujovė yra ta patobulintas HTTP 1.0 / 1.1 protokolo įgyvendinimo specifikacijų atitikimasBe to, kodas buvo perdarytas, kad būtų dekoduotos suskaidytos užklausos.

Taip pat pabrėžiama pridėtas kodas, skirtas automatiškai grąžinti klaidas, susijusias su netinkamomis sugrupuotomis užklausomis, per didelis duomenų dydis ir neteisingas turinio ilgio antraštės nustatymas.

Tai buvo realizuota vidinis optimizavimas, Pavyzdžiui, patobulintas atminties valdymas, pagerintas maišos efektyvumas ir pasikartojančio HTTP metodo ir protokolo versijos analizavimo pašalinimas.

Taip pat pažymima, kad jis numatė griežtesnį HTTP antraštės reikšmių patikrinimą, leido naudoti tabuliavimo simbolį atsakymo antraštės reikšmėse, tačiau uždraudė naudoti tarpus pasirinktinėse antraštės reikšmėse.

Neskaitant to, kodas HTTP antraštėms generuoti atsakant buvo visiškai perrašytas ir skirtojo laiko tikslumas padidintas nuo sekundžių iki milisekundžių.

Pridėta kūrimo parinktis – įgalinti dezinfekavimo priemones [= adresas, neapibrėžtas, nutekėjimas, naudotojo nuodai], kad būtų galima pasirinktinai įjungti problemų aptikimo režimus kode.

Pataisyti, patikslinti, išplėsti ir patobulinti Doxy funkcijų aprašymai, dabar užsimenant, kad MHD išmokti turėtų būti daug lengviau vien perskaičius antraštes.

Iš kitų šioje naujoje versijoje išsiskiriančių pakeitimų:

  • Patobulinti funkcijų aprašymai microhttpd.h antraštės faile.
  • įtraukta API funkcijos MHD_get_reason_phrase_len_for () ir MHD_create_response_from_buffer_with_free_callback_cls (), MHD_CONNECTION_INFO_HTTP_STATUS vėliava, MHD_get_connection_info (), taip pat MHD_CONNECTION_INFO_HTTP_STATUS vėliava atsakymai ir MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_ atsakymai.
  • Pridėtas projekto failas surinkimui MSVC.
  • Atsakymo antraštės forma buvo visiškai perrašyta. Naujasis diegimas yra tvirtesnis, lengviau prižiūrimas ir plečiamas, taip pat geriau atitinka RFC HTTP specifikacijas.
  • Našumo patobulinimai: dabar HTTP versija ir užklausos metodas dekoduojami tik vieną kartą (anksčiau MHD naudojo daug eilučių palyginimo

Pagaliau jei norite sužinoti daugiau apie tai Apie šį leidimą galite peržiūrėti vartotojo vadovus ir kitą informaciją jos svetainėje.

Nuoroda yra tokia.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.