Apache HTTP サーバ バージョン 2.2

この文書では、Apache HTTP サーババージョン 2.0 と 2.2 の主な違いについて 記述しています。 バージョン 1.3 からの新機能 については 2.0 の新機能 の文書をご覧下さい。
mod_authn_alias モジュールは認証の設定を
          非常に簡単化してくれます。 モジュール名の変更
          と 開発者向けの変更 を見てください。 そこには、
          これらの変更がどのようにユーザとモジュール開発者に影響するかが
          書いてあります。mod_cache と
          mod_disk_cache そして、
          mod_mem_cache はとても多くの変更を受けていて、
          製品としての品質があると考えられます。
          htcacheclean が導入され、
          mod_disk_cache の設定がシンプルになりました。prefork と、worker
          そして event MPM は httpd
          を、
          graceful-stop
          のシグナル経由で、緩やかにシャットダウンさせます。
          GracefulShutdownTimeout
          のディレクティブがオプションのタイムアウトとして追加され、これに
          よってhttpd は、サービス中リクエストの
          状態如何に関わらず強制終了します。mod_proxy_balancer は、
          負荷分散サービスを mod_proxy に提供します。
          新しいモジュール mod_proxy_ajp は、
          Apache Tomcat
          で使われる、 Apache JServ Protocol version 1.3 の
          サポートを提供します。httpd の configure 時に
          --with-pcre のフラグを渡すことで、システムが
          インストールしている PCRE を利用するように設定できます。mod_filter は、出力フィルターの連鎖に動的な
          設定を導入しています。
          これは、2.0 アーキテクチャにある、ややこしい依存と順序問題を
          回避するために、リクエスト又はレスポンスヘッダや環境変数に
          基づいて、フィルターを条件付きで挿入できるようにしています。httpd は、最新の 32-bit Unix システムでの 2GB 
          より大きなファイルのサポートを取り入れてビルドされます。
          >2GB であるリクエストボディの扱いも追加されています。event MPM は、 Keep Alive のリクエストを受け付けて
          処理するのに、別個のスレッドを使います。伝統的には Keep Alive の
          リクエストを扱うのに、ワーカを使用する必要がありました。
          Keep Alive のタイムアウトが来るまでは、そのワーカを再利用
          できませんでした。mod_dbdと、 apr_dbd の枠組みを
          併用することで、SQL を必要とするモジュールを直接サポートします。
          スレッド MPM でコネクションプールをサポートします。
mod_auth は
          mod_auth_basic と
          mod_authn_file に分けられ、
          mod_auth_dbm は
          mod_authn_dbm と名前を変更し、
          mod_access は、 
          mod_authz_hostと名前を変えられています。
          また、新しいモジュール mod_authn_alias ができて、
          ある種の認証設定を簡単化します。
      mod_authnz_ldapmod_auth_ldap の 
          2.2 Authn/Authz 枠組みへの取り込みです。
          LDAP の属性値と複雑な検索フィルターを使って
          Require ディレクティブに
          取り込むことを新機能として含んでいます。mod_authz_ownermod_versionmod_info?config 引数を追加しました。
          これは、Apache によって解析される設定ディレクティブを、ファイル名と
          行数を付けて表示します。
          また、モジュールは httpd -V と同様の、リクエストフックの
          順序と追加のビルド情報を表示します。mod_sslmod_imagemapmod_imap は、ユーザの混同を避けるため、
          mod_imagemap へと名前の変更を行いました。httpd-M
          が追加されました。このオプションでは現在の設定で読み込まれる
          全てのモジュールがリストされます。
          -l オプションとは違って、このリストには
          mod_so で読み込まれる DSO を含んでいます。httxt2dbmRewriteMap
          で使われる dbm のマップタイプに使用されます。APR と 
          APR-Utilから削除されました。
          詳細については
          APR Webサイトを見てください。mod_auth_* -> HTTP 認証メカニズムを実装する
          モジュールmod_authn_* -> 認証バックエンドを提供する
          モジュールmod_authz_* -> 認可(又はアクセスの制御)を
          実装するモジュールmod_authnz_* -> 認証と認可の両方を実装する
          モジュールap_log_cerror が、クライアントの接続の
          際のエラーを記録するために追加されました。ログの出力メッセージには
          クライアントの IP アドレスが含まれます。test_config が追加されました。
          これにより、ユーザが -t を httpd の
          起動時に与えた時だけに実行される、特別なコードを入れることが
          できます。ThreadStackSize が全てのスレッド MPM のスタックサイズの
          設定に追加されました。これはサードパーティのモジュールで、
          デフォルトのスタックサイズが小さいことがあるために、必要と
          なりました。ap_register_output_filter_protocol 又は
          ap_filter_protocol を呼び出して
          mod_filter に 委任することができます。pcreposix.h ヘッダは既に削除されました;
          新しい ap_regex.h によって置き換えました。 
          古いヘッダである POSIX.2 regex.h によって
          公開されている実装は、今は、ap_regex.h の
          ap_ 名前空間の下に存在します。 
          regcomp と、 regexec 等々への呼び出しは
          ap_regcomp, ap_regexec などに置き換え
          られます。Apache 1.x と 2.0 では、SQL バックエンドを必要とするモジュールは それを自分で管理する責任がありました。車輪の再発明の問題を除いても、 これはとても非効率的なことです。例えばそれぞれのモジュールが自分 で接続を維持しなければなりません。
Apache 2.1 とその後は、 ap_dbd API が提供されており、
         これを使ってデータベースの接続(スレッド化された又はスレッドでない
         MPM に最適化した戦略を含んで)を管理することができます。
         一方、APR 1.2 および以降では apr_dbd API でデータ
         ベースとのやりとりを提供しています。
新しいモジュールはこれらを全ての SQL データベースの運用に利用する べきです。現存のアプリケーションは、実現可能であればどこでもこれらを 使うように更新され、透過的にあるいは推奨オプションとして ユーザに提供されるべきです。