GNU libmicrohttpd 0.9.74 již byl vydán a toto jsou jeho novinky

Nedávno projekt GNU vydal vydání novou verzi knihovny libmicrohttpd 0.9.74, A představující jednoduché API pro vestavěnou funkcionalitu HTTP serveru v aplikacích.

Knihovna podporuje protokol HTTP 1.1, TLS, přírůstkové zpracování požadavků POST, základní a digestivní autentizace, IPv6, SHOUTcast a různé metody multiplexování připojení (select, poll, pthread, thread pool), v současné době má implementace podporu pro různé podporované platformy, včetně GNU / Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android , macOS, Win32, Symbian az / OS.

GNU libmicrohttpd se zrodil kvůli potřebě svého autora, který v té době potřeboval snadný způsob, jak přidat souběžný HTTP server do jiných projektů. Stávající alternativy byly nesvobodné, nereentrantní, samostatné, hrozná kvalita kódu nebo jejich kombinace.

Z charakteristik které vynikají této implementaci:

  • Knihovna C: rychlá a malá
  • API je jednoduché, expresivní a zcela reentry.
  • Implementace je kompatibilní s HTTP 1.1
  • HTTP server může naslouchat na více portech
  • Režimy více vláken: Spustit na aplikačním vláknu, interním vláknu, fondu vláken a vláken na připojení
  • Tři různé režimy soketového dotazování: výběr (), dotazování () a epoll
  • Minimální počet systémových volání, aby se zabránilo dalším změnám režimu jádra/uživatele
  • Mezi podporované platformy patří GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana /
  • Solaris a z / OS
  • Podpora protokolu IPv6
  • Podpora SHOUTcast
  • Podpora pro přírůstkové zpracování dat POST (volitelné)
  • Podpora základní a implicitní autentizace (volitelné)
  • Podpora TLS (vyžaduje libgnutls, volitelné)
  • Binární soubor má pouze asi 32 kB (bez podpory TLS a dalších volitelných funkcí)

Hlavní nové funkce libmicrohttpd 0.9.74

V této nové verzi knihovny to najdeme přidána experimentální implementace protokolu WebSockets, který ještě není dobře testován a je ve výchozím nastavení zakázán.

Další novinkou, která je představena, je to byla zlepšena shoda s implementačními specifikacemi protokolu HTTP 1.0 / 1.1Kromě toho byl kód přepracován tak, aby dekódoval fragmentované požadavky.

To je také zdůrazněno přidán kód pro automatické vracení chyb souvisejících se špatně rozdělenými požadavky, příliš velká velikost dat a nesprávné nastavení záhlaví Content-Length.

Bylo to realizováno vnitřní optimalizace, například zlepšená správa paměti, zlepšená efektivita hash a odstranění opakované analýzy HTTP metody a verze protokolu.

A také je třeba poznamenat, že poskytl přísnější ověření hodnot hlaviček HTTP, umožnil použití znaku tabulátoru v hodnotách hlavičky odpovědi, ale zakázal použití mezer v hodnotách vlastních hlaviček.

Kromě toho, kód pro generování HTTP hlaviček v odpovědi byl zcela přepsán a přesnost časového limitu byla zvýšena ze sekund na milisekundy.

Přidána možnost sestavení –enable-sanitizers [= adresa, nedefinováno, únik, uživatelská otrava] pro selektivní povolení režimů detekce problémů v kódu.

Opraveny, upřesněny, rozšířeny a vylepšeny popisy funkcí Doxy, nyní se uvádí, že by mělo být mnohem snazší naučit se MHD pouhým čtením nadpisů.

Z dalších změn, které v této nové verzi vynikají:

  • Vylepšené popisy funkcí v záhlaví souboru microhttpd.h.
  • přidané funkce API MHD_get_reason_phrase_len_for () a MHD_create_response_from_buffer_with_free_callback_cls (), MHD_CONNECTION_INFO_HTTP_STATUS vlajky, MHD_get_connection_info (), jakož i odpovědi MHD_CONNECTION_INFO_HTTP_STATUS vlajky a odpovědi MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_.
  • Přidán soubor projektu pro sestavení v MSVC.
  • Formace záhlaví odpovědi byla zcela přepsána. Nová implementace je robustnější, snáze se udržuje a rozšiřuje a lépe odpovídá specifikacím RFC HTTP.
  • Vylepšení výkonu: Verze HTTP a metoda požadavku jsou nyní dekódovány pouze jednou (dříve MHD používalo mnoho porovnání řetězců

Konečně pokud máte zájem o tom vědět více o této verzi si můžete přečíst uživatelské příručky a další informace na jejích webových stránkách.

Odkaz je tento.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.