|
今回のリリースでの新しい特徴はApacheの機能性の拡張です。コアコードが大きく変わっているので、初期版のApache (とNCSAデーモン)よりも最新のApacheははるかに自由です - なんらかの問題がある場合にはcompatibility notesでチェックしてください。
もしApache 1.2からアップグレードするなら、upgrade notesを読むと良いでしょう。
バグフィックスの数と内部パフォーマンスの拡張に加えて、Apache 1.3 には以下の新しい特徴があります:
Configurationファイルを可能にして、CheckSpelling命令をonにセットしなければなりません。
Configurationにある"Module"行がわずかに異なる構文で"AddModule"と置き換わっていることです。モジュールの記述に関してそれらのモジュールを追加するユーザにとって、より簡単になるようになったいくつかの変更があります。
mod_mime_magicが加えられています。それは"magic numbers"とどんなコンテンツであるのかを見分けるためのファイルのコンテンツからのヒントを使っています。ファイルの拡張子から決定できなければ、ファイルのメディアタイプを設定するためにこの情報を使います。
mod_dirモジュールはmod_dirがディレクトリインデックスファイルをハンドリングし、mod_autoindexがディレクトリ一覧を作成することで二つに分割します。このようにクリティカルサーバからインデックスを外すものとして機能します。
mod_proxyの外部接続に大きなネットワークバッファを与えています。
writevを使います。それはまた、バッファの中にメモリをコピーするのを出来る限り避けます。その結果、大きなファイルを転送するためにCPUが使う時間が少なくなっています。
mmapを使って受け取られます。プログラムは決してCPUタイムを減少させるバイト周辺のコピーはしません(有効でテストされたものについてのみ)。
mod_log_configはバッファに対してコンフィギュアされたコンパイルタイムになることができます。
詳しくはthe new performance documentationを参照してください。
UNIQUE_IDで役立ちます。
Host:ヘッダを基にしてヴァーチャルホストを行います。以前は、このアドレスは暗にマシンのメインアドレスと同じもので、ユーザに際限のない問題を引き起こし、あまり有効なものではありません。コンフィギュレーションについての詳細はApache Virtual Host documentationを参照してください。
child_init機能child_exit機能child_initとchild_exitの機能は存在する期間が子と同じプールにパスされます(Apacheが回復不能となるmoduloの非常に致命的な出来事)。対照的にinitモジュールの機能は、親が存在しているか、再起動しているときに終了するプールにパスされます。
child_terminateregister_other_childhttp_main.hを見てください。これはモニタリングのために子を登録する親の中で使われます。親は供給されたcallback機能のステータスを報告します。これはモジュールにhttpdの子に沿ってモニターされたそれら自身の子を作ることを許可します。
piped_loghttp_log.hを見てください。このAPIはパイプされたログを実行するための 一般コードを供給します。特にそれをサポートしているアーキテクチャに、信頼できるパイプされたログオンを実行します(すなわちここでは Unix)。
ap_*の名前を変更set_last_modifiedが3つに分割set_last_modifiedは、Last-Modified ヘッダやETagヘッダの設定、条件付きリクエストの処理を含む多様な仕事をしていました(IMSのように)。これらの機能は3つの機能に分割されています:set_last_modified、set_etag、そしてmeets_conditionsです。mtime領域はmeets_conditionsを容易にするためにrequest_recに追加されています。
aplog_erroraplog_errorと呼ばれる単一の機能でそれらを置き換えている途中です。これはまだ作業中です。
set_file_slotset_file_slotルーチンは非絶対パスに対してServerRootをprependする標準ルーチンを供給します。
post_read_request module APIpsocketpopendirpsocketとpclosesocket機能は、リソーストラッキングについてレースコンディションのフリーソケットを考慮します。類似のpopendirとpclosedirはディレクトリの読み込みをプロテクトします。
is_initial_reqkill_only_oncespawn_child機能には、Apacheが子を殺そうとすることを避けるようにするオプションがあります。
allocデバッギングコードALLOC_DEBUGを限定することは、衝撃の少ない生きたサーバで使われる未発達のメモリデバッガーを供給します。全てが割り当てられて、メモリバイトを0xa5に解放するように設定します。ALLOC_USE_MALLOCを限定することは、それぞれのオブジェクトについてallocコードにmalloc()とfree()を使わせます。これはとても高価なもので、Electric FenceとPurifyのようなツールでテストするときにだけ使われるべきです。詳細についてはmain/alloc.cを参照してください。
The English original manual is here.