Webサーバーの仕組みとApacheの機能を紹介します。

 Webサーバーは,「HTTP(Hyper Text Transfer Protocol)」というプロトコルを用いて,Webブラウザから「GET」(ファイルを取得する)や,「POST」(指定したURLにデータを転送する)などのリクエストを受け取り,そのリクエストにしたがって処理するサーバーです(図1)。リクエストの返答では,必ず「ステータス・コード」を返します。例えば,ファイルが存在しないなどエラーが発生した場合は,「ファイルが存在しない」という内容のステータス・コードをWebブラウザに返します。

図1●Webページを閲覧するための手順
図1●Webページを閲覧するための手順
WebブラウザにURIを入力すると,HTTPを用いてWebサーバーにWebページを要求。サーバーは目的のファイルを探し出し,Webブラウザに送信する。

 Webページは通常,HTML文書で記述するので,Webサーバー側にはHTML文書を保存することがほとんどですが,基本的にHTMLは,Webブラウザが画面上に表示する際のフォントやタブなどを指定するためのファイル形式に過ぎず,Webサーバーの処理とは関係がありません。

 このように,HTTPのリクエストを処理するのがWebサーバーの基本機能です。現在,多くのWebサーバーが公開・販売されています。例えば,米Microsoft社が提供しているMicrosoft IISや,英Zeus Technology社のZeus Web Serverなどがあります。その中でも世界中で最も利用されているのがApache Software Foundation(http://www.apache.org/)が開発・配布している「Apache HTTP Server」です。Apache(アパッチ)は機能が豊富で動作が安定しているWebサーバーとして定評があります。フリー・ライセンスで配布されているため,だれでも無償でApacheのパッケージをダウンロードして利用できます。

現在はバージョン2系統が主流

 Apacheは,アメリカの政府機関であるNCSA(米国立スーパーコンピュータ応用センター)が開発したWebサーバーの「NCSA HTTPd」がベースとなっています。当時はまだ多くのバグがあり,1995年ごろに多数のプログラム修正ファイル(パッチ)が適用されました。このことから,「パッチを当てる(Apatch)」と名付けられました。

 NCSA HTTPd 1.3をベースとし,バグなどを修正してリリースされたのがApache 1.0です。その後,バーチャル・ドメイン機能,ハンドラ機能,プロキシ機能などといった機能追加や,安定性の向上,バグの修正などを行いながらApacheの開発が進められてきました。

 現在は,バージョン1.3.x系と同2.x系のApacheが開発・提供されています。新機能はすべて2.x系に追加され,1.3.x系のバージョンアップは安定性の向上やバグ修正にとどまっています。

 Apache 2.x系は同1.3.x系と比べて,スレッドの対応,マルチプロトコルのサポート,IPv6サポート,フィルタ機能の搭載,設定の簡素化などが施されています。

 さらに,2005年12月2日には,Apacheの安定版2.2.0がリリースされました。このバージョンアップはApache 2.x系になってから最大規模のアップグレードになっています*1。新たに表1のような機能が追加・変更されました。

表1●Apache 2.2.0の新機能
表1●Apache 2.2.0の新機能