それには次のような理由がある。軽い,フリー,豊富 な機能,多彩なプラットフォーム,高い信頼性以下そ れぞれについて説明する。
メモリ管理がしっかりしており,速さ・メモリ共に効 率的である。
Apacheに次いでよく利用されるWWWサーバのIISは,ラ イセンスフリーではない。Windows NT(TM) Serverは購 入せねばならない。但し,Apacheは無保証である。
Apacheの構成は,モジュールの追加によって行う。つ まり,モジュールを追加・削除する事により,効率よく, より高機能なApacheを構成できるということである。ま たモジュールによって,いつも最新のきのうが利用でき, 手軽に自分で機能追加する事もできる。
Apacheは,UNIXプラットフォームはもちろん,他に MacやWindows NT,OS/2でも動作する。VAXとDOS以外な ら,何でも動く。
世界中で利用され,その信頼性は揺るぎ無いものとなっ ている。市販WWWサーバソフトウェアより,信頼できる。 Apacheは大体において他の多くのフリーなサーバより高 速である。数千ドルかかるとっても速いサーバよりも, そこそこ高速なフリーのサーバの方を使いたいのであれ ば,Apacheがいいようである。Apacheは一日数百万アク セスを数えるサイトで動作していて,そこでは性能につ いての問題は経験したことがないそうである。
また,Apacheはインターネット上の100,000を越すサーバで動作している。 Apacheは開発者・ユーザの両者が徹底的にテストしており,新しいバージョンを リリースする前には,Apacheグループは厳しい標準を維持している。故にWWWサー バの1/3以上で障害なしに動作しているのである。バグが見つかれば,できるだ け早くパッチと新しいバージョンがリリースされる。そして,Apache version 1.1以上ではPROXYモジュールが付属している。それを組み込めばPROXYキャッシュ サーバとして動作する。以下に,代表的な機能を挙げる。
インターネット上の各種サーバの処理を軽くするため,その機能の一部 を代理(PROXY)で行うサーバ。主な機能として,データのキャッ シュ,日本語変換,アドレス変換,プロトコル変換等がある。
WebブラウザとWebサーバ上にあるプログラムの間で,値のやり とりなどをサポートする。この技術は,主に Perlで記述されたプログラムの実行に使われ, CGIを使ったプログラムのことをCGIプログラムと呼ぶ。CGIプロ グラムは,Apacheに限らずほとんどのWebサーバソフトウェアで 実行できる。
HTML中に埋め込まれた特別な命令を実行し,HTMLを動的に変化 させるための技術。この技術を使うと,例えばWebページの上下 部分を別のファイルで作成しておき,それを本体から読み込むと いうような事ができる。複数のWebページで1つのパーツを共有で きるため,Webページのデザイン変更が容易になる。
CGIとSSIは,どちらも動的なWebページを構築する技術として 非常にポピュラーな技術である。機能的にはよく似たものを提供 できるが,CGIは外部プログラムを利用,即ち自分でプログラミ ングしなければならないのだが,SSIはあらかじめ用意されたコ マンドを利用する,といったところが異なる。
当然,SSIの方は手軽に利用できるといった利点がある。
Webサーバにアクセスしてきたクライアントは,接続終了した後,再度 接続しようとすることがある。しかしこの場合,再接続のための 処理が発生する。アクセス数が増加するにしたがいこれは無視で きない問題になってくる。そこでKeep-Alive機能を用いることに より,一定時間接続を開いたままの状態にしておく。こうするこ とで同じ処理を何度も行うことが防げる。またこの機能は,複数 のクライアントからのリクエストを同じ接続で送信するこ とも認めているため,さらに効率は良くなる。
Apache を1つ起動して,あたかも複数のWebサーバが稼働しているよう に見せる機能。