Apache(アパッチ)とは、現在最も人気の高いWebサーバソフトウェアの一つです。動作が安定しているWebサーバーとして定評があります。
Apacheは1995年に、何人かの有志によって、米国立スーパーコンピュータ応用研究所(NCSA)が開発したNCSA httpd 1.3をベースに開発が始まりました。当時はまだ多くのバグがあり、多数のプログラム修正ファイル(パッチ)が必要とされました。この有志によるグループが、自分たちを「Apache(パッチを当てる) Group」と名付けたのが、名称の由来です。
現在Apacheは、フリーソフトウェアとして無償で公開されています。そしてその開発は、Apacheソフトウェア財団のApache HTTPサーバプロジェクトによって、世界中のボランティアのプログラマたちが行っています。
柔軟性に富んだ設計で幅広いOSから人気
Webサーバーは、「HTTP(Hyper Text Transfer Protocol)」というプロトコル(ネットワーク上での通信に関する規約)を使用して、Webブラウザから「GET」(ファイルを取得する)や、「POST」(指定したURLにデータを転送する)などのリクエストを受け取り、それに従って処理を実行します。
Webサーバーソフトウェアの中でもApacheは、異なる環境や多種多様なプラットホームでも動作するように、柔軟性に富んだ設計を取り入れています。 通常だと、異なるプラットホーム・異なる環境では、異なる機能が必要になったり、異なる実装が必要になったりします。しかし、Apache では数多くのOSをサポートするために、MPM(マルチ プロセッシング モジュール)という仕組みをとっています。これにより、利用するOSに最適化されたApacheを容易に組み込むことができるため、UNIX系OSを中心に幅広い人気を集めています。
Webサーバーとしての基本的機能以外に、便利な機能も
Apacheは、Webサーバーとしての基本的機能のほかに、便利な機能も兼ね備えています。例えば、変化のない静的なWebページを配信するだけではなく、ブログのような内容が変化する動的なWebページも配信できます。ブログに新たな書き込みがあれば、Apacheがそれを追加したWebページを自動的に作成して、ブラウザに配信します。
また、Apacheはデータを暗号化してネットワークに送信することができます。Webサイトによっては個人情報を扱う場合がありますが、インターネット上には悪意のあるユーザーもいて、こうした個人情報を盗みとろうとします。そうした事態を防ぐため、Apacheは公開鍵(かぎ)暗号方式と共通鍵暗号方式を併用したSSL(Secure Sockets Layer)という方法で内容を暗号化し、送信するのです。
Web上でのセキュリティ対策として、Apacheでは認証機能が利用できます。ユーザー名とパスワードを設定し、それを認証することで、不特定多数によるアクセスを拒否します。また、特定のIPアドレス、またはドメインからのアクセスを拒否することもできます。
このように、私たちがインターネットを利用する上で欠かせない機能を、Apacheが担っているといえます。