GNUプロジェクトは2月1日(現地時間)、GNU libmicrohttpd v1.0をリリースしました(アナウンス、Phoronix)。
libmicrohttpdはアプリケーションにWebサーバー機能を組み込みたい場合に最適な、組み込みフレンドリーなCライブラリです。高速で小さく、HTTP 1.1に対応するなど、以下のような特徴を持っています。
- * C library: fast and small
- * API is expressive and fully reentrant
- * Implementation is HTTP 1.1 compliant
- * HTTP server can listen on multiple ports
- * Various threading modes
- * Three different sockets polling modes
- * Broad platform support
- * Support for IPv4 and IPv6
- * Support for incremental processing of POST data
- * Support for basic and digest authentication
- * Support for TLS (requires libgnutls)
libmicrohttpdはCまたはC++アプリケーションにHTTPサーバー機能を組み込むためのCライブラリで、GNUのメンテナーであるEvgeny Grin氏とChristian Grothoff氏によって16年以上にわたって開発が行われてきました。
v1.0は最初のメジャーリリースで以下のような変更が行われています。
- Rewritten parsing of clients' requests, fully aligned with current
- RFCs (9110 and 9112) requirements. Added detailed control of strict
- or lenient specification enforcement. Application may choose between
- more compatible mode or more strict and secure mode.
- * Reworked Digest Auth, greater enhanced support for current RFC 7617
- features. MHD currently is the only known server-side implementation
- with support for SHA-512/256, userhash and username in extended
- notation. At the same time the very old RFC2069 is supported, as
- well as MD5 and SHA-256.
- * Improved functionality in multi-threading environment, especially with
- external sockets polling modes.
- * Reworked Basic Auth, adding new convenient API functions.
- * Re-implemented GnuTLS initialisation. Now supported
- libmicrohttpd-specific system-wide configuration, as well as generic
- GnuTLS system-wide configuration. Application may adjust settings
- based on system configuration instead of specifying its own full
- configuration.
- * Tons of other new functionality and various fixes. For detailed
- changes see the ChangeLog or Git commit logs.
libmicrohttpの詳細の確認やファイルのダウンロードは公式サイトから可能です。