GNU libmicrohttpd 0.9.74はすでにリリースされており、これらはそのニュースです

最近 GNUプロジェクトはのリリースをリリースしました ライブラリの新しいバージョン libmicrohttpd 0.9.74、 アプリケーションに組み込まれたHTTPサーバー機能のためのシンプルなAPIを表す。

図書館 HTTP 1.1プロトコル、TLS、POSTリクエストの増分処理をサポートします。 基本認証とダイジェスト認証、IPv6、SHOUTcast、および接続を多重化するためのさまざまな方法(select、poll、pthread、thread pool)、現在、実装は、GNU / Linux、FreeBSD、OpenBSD、NetBSD、Solaris、Androidなどのサポートされているさまざまなプラットフォームをサポートしています。 、macOS、Win32、Symbian、およびz / OS。

GNU libmicrohttpdは、その作成者の必要性から生まれました。作成者は、当時、他のプロジェクトに並行HTTPサーバーを追加する簡単な方法を必要としていました。 既存の代替案は、非フリー、非再入可能、スタンドアロン、ひどいコード品質、またはそれらの組み合わせでした。

特徴の この実装で際立っているのは:

  • ライブラリC:高速で小型
  • APIはシンプルで表現力豊かで、完全に再入力できます。
  • 実装はHTTP1.1に準拠しています
  • HTTPサーバーは複数のポートでリッスンできます
  • 複数のスレッドモード:アプリケーションスレッド、内部スレッド、スレッドプール、および接続ごとのスレッドで実行
  • XNUMXつの異なるソケットポーリングモード:select()、poll()、およびepoll
  • 追加のカーネル/ユーザーモードの変更を回避するためのシステムコールの最小数
  • サポートされているプラ​​ットフォームには、GNU / Linux、FreeBSD、OpenBSD、NetBSD、Android、Darwin(macOS)、W32、OpenIndiana /が含まれます。
  • Solarisおよびz / OS
  • IPv6のサポート
  • SHOUTcastのサポート
  • POSTデータの増分処理のサポート(オプション)
  • 基本認証と暗黙認証のサポート(オプション)
  • TLSサポート(libgnutlsが必要、オプション)
  • バイナリはわずか約32kです(TLSサポートおよびその他のオプション機能なし)

libmicrohttpd0.9.74の主な新機能

ライブラリから提示されるこの新しいバージョンでは、次のことがわかります。 WebSocketプロトコルの実験的な実装を追加しました。 これはまだ十分にテストされておらず、デフォルトで無効になっています。

提示される別の目新しさはそれです HTTP 1.0 /1.1プロトコル実装仕様への準拠が改善されましたさらに、断片化されたリクエストをデコードするためにコードが作り直されました。

また、 不正なチャンクリクエストに関連するエラーを自動的に返すコードを追加しました。 データサイズが大きすぎて、Content-Lengthヘッダー設定が正しくありません。

実現しました 内部最適化、 たとえば、メモリ管理の改善、ハッシュ効率の改善、HTTPメソッドとプロトコルバージョンの反復解析の排除などです。

また、HTTPヘッダー値のより厳密な検証を提供し、応答ヘッダー値でのタブ文字の使用を許可しましたが、カスタムヘッダー値でのスペースの使用を禁止したことにも注意してください。

それに加えて、 応答としてHTTPヘッダーを生成するコードが完全に書き直されました タイムアウトの精度が秒からミリ秒に増加しました。

コードで問題検出モードを選択的に有効にするビルドオプション–enable-sanitizers [=アドレス、未定義、リーク、ユーザーポイズン]が追加されました。

Doxy機能の説明を修正、明確化、拡張、および改善し、見出しを読むだけでMHDを習得する方がはるかに簡単になるはずだと述べました。

この新しいバージョンで際立っている他の変更の中で:

  • microhttpd.hヘッダーファイルの関数の説明が改善されました。
  • API関数は、MHD_get_reason_phrase_len_for()およびMHD_create_response_from_buffer_with_free_callback_cls()、MHD_CONNECTION_INFO_HTTP_STATUSフラグ、MHD_get_connection_info()、およびMHD_CONNECTION_RFHDRFHDRFHD_INFO_HTTP_STATUSフラグ応答とMHD_SDRIVE_HDRFKE_H_を追加しました。
  • MSVCでのアセンブリ用のプロジェクトファイルを追加しました。
  • 応答ヘッダーの形成が完全に書き直されました。 新しい実装は、より堅牢で、保守が容易で、拡張可能であり、RFCHTTP仕様に準拠しています。
  • パフォーマンスの向上:HTTPバージョンとリクエストメソッドがXNUMX回だけデコードされるようになりました(以前はMHDが多くの文字列比較を使用していました)

最後に あなたがそれについてもっと知りたいなら このリリースについては、そのWebサイトでユーザーマニュアルやその他の情報を参照できます。

リンクはこちらです。


コメントを最初に

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。