A GNU libmicrohttpd 0.9.74 már megjelent, és ezek a hírek

nemrég a GNU projekt kiadta a kiadást a könyvtár új verziója libmicrohttpd 0.9.74, Egy egyszerű API-t képvisel a beépített HTTP-kiszolgáló funkciókhoz az alkalmazásokban.

Könyvtár támogatja a HTTP 1.1 protokollt, a TLS-t, a POST kérés növekményes feldolgozását, alap és kivonat hitelesítés, IPv6, SHOUTcast és a kapcsolatok multiplexelésének különféle módszerei (kiválasztás, lekérdezés, pthread, szálkészlet), jelenleg a megvalósítás támogatja a különböző támogatott platformokat, köztük a GNU / Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android , macOS, Win32, Symbian és z / OS.

A GNU libmicrohttpd a szerzőjének igénye miatt született meg, akinek akkoriban szüksége volt egy egyszerű módra egy párhuzamos HTTP-kiszolgáló hozzáadására más projektekhez. A létező alternatívák nem ingyenesek, nem visszatérőek, önállóak, szörnyű kódminőségűek vagy ezek kombinációja voltak.

A jellemzők közül amelyek kiemelkednek ebben a megvalósításban:

  • C könyvtár: gyors és kicsi
  • Az API egyszerű, kifejező és teljesen visszatérő.
  • A megvalósítás HTTP 1.1-kompatibilis
  • A HTTP szerver több porton is képes figyelni
  • Több szálkezelési mód: Futtatás alkalmazásszálon, belső szálon, szálkészleten és kapcsolatonkénti szálon
  • Három különböző socket lekérdezési mód: kiválasztás (), lekérdezés () és epoll
  • A rendszerhívások minimális száma a kernel/felhasználói mód további módosításainak elkerülése érdekében
  • A támogatott platformok közé tartozik a GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana /
  • Solaris és z / OS
  • Az IPv6 támogatása
  • SHOUTcast támogatás
  • A POST adatok növekményes feldolgozásának támogatása (opcionális)
  • Az alapvető és implicit hitelesítés támogatása (opcionális)
  • TLS támogatás (libgnutls szükséges, opcionális)
  • A bináris csak körülbelül 32k (TLS-támogatás és egyéb opcionális szolgáltatások nélkül)

A libmicrohttpd 0.9.74 főbb új szolgáltatásai

A könyvtár új verziójában ezt találjuk hozzáadta a WebSockets protokoll kísérleti megvalósítását, amely még nincs jól tesztelve és alapértelmezés szerint le van tiltva.

Egy másik bemutatott újdonság az a HTTP 1.0 / 1.1 protokoll megvalósítási specifikációinak való megfelelés javultEzenkívül a kódot átdolgozták a töredezett kérések dekódolására.

Azt is kiemelik hozzáadott kód, amely automatikusan visszaadja a rossz darabolt kérésekkel kapcsolatos hibákat, túl nagy adatméret és helytelen tartalomhossz-fejlécbeállítás.

Megvalósult belső optimalizálás, például javított memóriakezelés, jobb hash-hatékonyság, valamint a HTTP-módszer és protokollverzió ismétlődő elemzésének megszüntetése.

Azt is meg kell jegyezni, hogy a HTTP-fejlécértékek szigorúbb érvényesítését biztosította, engedélyezte a tabulátor karakter használatát a válaszfejlécértékekben, de megtiltotta a szóközök használatát az egyéni fejlécértékekben.

Amellett, hogy, a válaszként HTTP-fejléceket generáló kódot teljesen átírták és az időtúllépési pontosság másodpercről ezredmásodpercre nőtt.

Hozzáadott összeállítási opció – fertőtlenítők engedélyezése [= cím, nem definiált, szivárgás, felhasználói méreg], amely szelektíven engedélyezi a kódban lévő problémaészlelési módokat.

Javítottam, pontosította, bővítette és javította a Doxy függvények leírását, most megemlítve, hogy az MHD-t sokkal könnyebben lehet megtanulni pusztán a címsorok elolvasásával.

Az új verzióban kiemelkedő többi változás közül:

  • Továbbfejlesztett funkcióleírások a microhttpd.h fejlécfájlban.
  • API funkciók hozzáadott MHD_get_reason_phrase_len_for () és MHD_create_response_from_buffer_with_free_callback_cls (), MHD_CONNECTION_INFO_HTTP_STATUS zászló, MHD_get_connection_info (), valamint a MHD_CONNECTION_INFO_HTTP_STATUS zászló válaszokat, és MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_ válaszokat.
  • Projektfájl hozzáadva az MSVC-ben való összeállításhoz.
  • A válaszfejléc formációt teljesen átírták. Az új megvalósítás robusztusabb, könnyebben karbantartható és bővíthető, és jobban követi az RFC HTTP specifikációit.
  • Teljesítménybeli fejlesztések: Mostantól a HTTP-verzió és a kérési módszer csak egyszer kerül dekódolásra (korábban az MHD sok karakterlánc-összehasonlítást használt

Végül ha érdekel, hogy többet tudjon meg róla Ezzel a kiadással kapcsolatban megtekintheti a felhasználói kézikönyveket és egyéb információkat a webhelyén.

A link ez.