ケータイで見るために変換しています。
HTMLで表示。
[sub+]Apacheのとは?
はじめに
現在インターネットにおいてWWW(World Wide Web)は、インターネットの代名詞といっても過言ではないくらい大変多く利用されていますが、その中でもApacheは世界一のシェアを誇るWWWのサーバ用ソフトウェア(ウェブサーバ)です。
そもそも、WWWというのは1989年にスイスの欧州粒子物理学研究所(CERN)において情報の交換用に開発されたもので、HTMLで記述された文献を、遠く離れたコンピュータから閲覧することを考慮していました。なぜ、このようなことが必要になったかといいますと、CERNでは加速器を使って高エネルギー物理学の実験を行う施設が在り、その施設に世界中の偉い先生が集まって研究をしていたのですが、実験終了後に世界中に研究者が散らばってしまい、文献の共有が難しくなったために、円滑な文献交換が行えるようにといった背景が在ったわけです。
その後、アメリカのNCSAにおいてCERNと同様に「分散した研究者の共同研究において効率良く情報交換をする」ための研究を行っていたチームがWWWに目をつけグラフィックの扱えるようになったWWWブラウザ「Mosaic」を開発するに至ります。このとき、ウェブサーバとしては、CERNの作ったものとNCSAが作ったものが在りましたが、NCSAの方は「CGI」や「SSI」などの機能を開発して、マニア受けするさまざまな機能を搭載し、後発ながらCERNのウェブサーバから着々とシェアを奪って行きました。
といえども、さまざまな機能を盛り込んだNCSAのウェブサーバは多くのバグが含まれており、堅実さのCERNと機能のNCSAという位置付けが出来てきました。
その後、NCSAにソフトウェアパッチ(間違い部分を修正するファイル)を提供していた人達が集まり、NCSAをベースとした別のウェブサーバのソフトウェアを開発するに至ります。
これが、本日のお題であるApacheであり、その名の通り「A patch」(パッチを当てた)をもじってアメリカの先住民族の部族名であるApacheとダブらせて名づけられています。
Apacheの歴史
Apacheは、先に述べたとおりNCSAをベースにパッチ当てから歴史が始まりました。
src/CHANGES によると、Apache 0.2が1995/3/18 に公開された事になっており、それはNCSA httpd 1.3に対してパッチを当てたものとされています。
その後、Apache 1.0に至るまで、バグ修正と新機能の追加を繰り返し行ってきており、またさまざまなOSで動作するように移植が繰り返されました。では、Apache 1.0以降のバージョンアップでどのようにApacheが進化をしたのかを見てみましょう。
- Apache 1.0
Apache 0.8系のものを修正してリリースしたもので、よくApacheの初期バージョンと間違えられますが、実際には0.8とあまり変わっていません。
初期ディレクトリはNCSAのものを継承しており、/usr/local/etc/httpd となっています。
また、設定ファイルは /usr/local/etc/httpd/conf 内の httpd.conf srm.conf access.conf mime.types の4つが在りました。- Apache 1.1
Apache 1.0とプログラム的な基本構造は変わりませんが、大変多くの機能強化が行われました。
初期ディレクトリは前バージョンと同じく、/usr/local/etc/httpd が標準となっており、設定ファイルのパスも変わっていません。- HTTP/1.1サポートとKeep-Aliveのサポート
従来の転送が HTTPバージョン1.0だったのに対し、バージョン1.1にも対応する事となりました。
これにより、ホスト名をクライアントから得る事が出来るようになり、他にも一度の接続で複数のドキュメントを要求する事の出来るキープアライブ機能などが実現されています。- ホスト名をベースのバーチャルドメイン機能
先に述べたように、HTTP/1.1のサポートにより、従来だと接続されたIPアドレスでしか判別できなかったバーチャルドメインが、クライアントから送られたホスト名により認識できるようになり、IPアドレスを用いないバーチャルドメイン (Non-IP Based)を実現できました。- 複数のIPアドレスやポートでの待ち受け(接続要求待ち)のサポート
従来のApacheだと BindAddress で *を指定すると全てのインターフェースで待ち受けを行い、特定のIPアドレスを指定すると指定された特定のIPアドレスでのみ待ち受けを行う事が出来ました。
しかしながら、Listenという新しい指示子により、複数のIPアドレス(もしくはポート)にて待ち受けを行う事が可能になりました。複数のIPアドレスやポートを指定するときは、Listen指示子を複数個羅列すれば可能です。- サーバの情報と状況の表示機能
mod_status と mod_info
上次TOP
[PR]理想の結婚相手探し