webサーバーの構築 part.1
[今回の範囲:教科書5~6p]
前回の内容は教科書の2~4pの内容と一緒でしたね。特に意識したわけではないのですが、やはり最初のテーマとしてふさわしいんでしょうね。
さて今回からは教科書に沿って話を進めてみたいと思います。教科書の5pを開いてみて下さい。
教科書の内容に移る前に「webサーバー」ではなく単に「サーバー」について解説してみたいと思います。
サーバー(server)とはその名の通り、「供給するもの」という意味ですね。そしてインターネット上に各種あるサーバーはまさにその名の通りの働きをします。サーバーの働きは次の動作が基本になります。
・リクエスト
・レスポンス
これらの動作については具体例を示して説明してみたいと思います。
まずwebサーバーについて考えてみましょう。みなさんがブラウザや携帯電話の端末等を使ってwebサイトを閲覧する時に陰で働いているのがwebサーバーとなります。
webサイトにアクセスするにはurlを直接指定したりサイト上のリンクをクリックしたりしますね。みなさんが普段何気なく行っているこの動作をwebサーバーに対する「リクエスト」と言います。
サーバーにはリクエストがいつ届くか分かりませんので常にリクエストに対応できるように準備されています。そしてリクエストを受け付けるとユーザーから指定されたwebページの内容を探し出し、見つかればそのままユーザーに提供します。見つからない時は事前に設定しておいたエラーページの内容を提供します。この動作をwebサーバーの「レスポンス」と言います。
さてエラーページが表示された場合、果たしてwebサーバーは正常に作動したと言えるのでしょうか?
答えは「yes」です。納得できない方がいるかもしれませんので簡単に説明してみます。webページが見つからないのはwebサーバーのせいではないですよね。webサイトを管理している人のミスが原因です。しかしたとえ人のミスだと言ってもwebページが見つからないからと言って何もしないわけにはいかないですよね。ですからwebサーバーはそのような時にエラーページを表示させるようにしてユーザーにレスポンスを返すのです。つまりwebサーバーは一連の基本動作を正しく行ったと言えるわけですね。
webサーバーを例に挙げてサーバーの仕組みについて簡単に説明してみましたが、そんなに難しいことじゃないですよね。
それでは本題のwebサーバーについて話題を移します。
ひとえにwebサーバーと言っても色々な種類があります。そんな中で一般的にwebサーバーとして利用されているのはApacheです。読み方は「アパッチ」です。
そしてこのApacheは2つの系統に分かれます。一方は1.3系で、もう一方は2.0系です。古くからあるのが1.3系で今でもバージョンアップが行われています。普通の感覚ですと新しい方を選んでしまいたくなるかもしれませんが教科書にも書かれている通り私も1.3系の使用をお勧めします。
なぜ1.3系なのかについては教科書に触れられている点以外でも理由があります。その理由とは「欠陥がほとんどなくなってきている」(業界用語で『枯れている』と言います)からです。2.0系は数年前に発表されたものでどんどん改良が進められていますが、まだ未知の欠陥が潜んでいる可能性が高いです。
一方で1.3系は完全かと言えば決して完全ではないかもしれません。しかし長年に渡って多くの人に利用されてきたことによって優秀な対策が豊富にあります。
インターネットという不特定多数の人からのアクセスを想定しなければならない環境では便利さ以上に安全さが重要です。このブログでも教科書通り1.3系でwebサーバーを構築していくことにしたいと思います。