Libmicrohttpd v0.9.72がリリース - 組み込みフレンドリーなGNUのWebサーバーライブラリ

S 20201229 201101

GNUプロジェクトによる、組み込みフレンドリーなWebサーバーライブラリ「Libmicrohttpd」の最新版v0.9.72が12月28日に公開されました(MLPhoronix)。

Libmicrohttpdは、アプリケーションに簡単にHTTPサーバーを組み込み、実行できることを目的として開発されている小さなC言語のライブラリです。

今回のリリースは各種OS/カーネルとの移植性の向上がテーマの1つで、FreeBSD、Windows、OpenBSD、NetBSD、Darwin/macOS、Solarisなどとの互換性が改善されています。これには、バッファリング/プッシュコードの全面的な書き換えや、各所OSとの互換性を考慮したシステムコールの数の削減が貢献しています。

その他、特にstay-alive HTTP/HTTPS接続におけるパフォーマンスの改善も行われています。

v0.9.71と比較した際の主な新機能は以下の通りです。

+ New function MHD_create_response_from_pipe().
* Fully rewritten code for buffering/pushing from kernel network buffers
for compatibility with various OSes. Reduced number of additional
sys-calls, network is better utilized, responses are delivered faster.
Restored optimal sendfile() usage on FreeBSD.
* MHD now takes care about SIGPIPE handling by blocking it in internal
threads and avoiding functions (like sendfile()) that could generate
SIGPIPE when blocking of this signal is not possible.
* Fixed crash in PostProcessor.
* Fixed several resources leaks in corner cases.
* Improved thread sync, thread safety and fixed one use-after-free under
special conditions during stopping of daemon.
* Updated HTTP status codes, header names and methods from the
registries.
* Fixed functioning without listen socket and with internal threads.
* Fixed streaming of chunked responses for both HTTP and HTTPS.
* Various compatibility fixes.

Libmicrohttpdの機能の詳細はこちらで確認可能です。

スポンサーリンク