Web力向上ポータル、納得発注道しるべ

Webサーバってなに?(2008/4/18)

グリニッジ有限会社 金井佳子 
記事のカテゴリ: どんな事が出来る?, テクノロジー | No Comments

ネットショップを経営する上で欠かせないテクノロジー。
しかし、漠然とした理解でも運営が出来る今、いざ外注にシステムを・・となった時に慌てる事態になりかねません。
慌てる前に、触りだけでも勉強しておこう!という趣旨で、今回はWebサーバについて、取り上げてみたいと思います。

Webサーバって何?

私たちがWebページを作成する際、HTMLファイルにHTMLを書く事になります。さて、このHTML。実際にはだれ(どのソフト)が解析しているのでしょうか。
正解はブラウザです(IEやFirofoxなど)。当たり前だろうと怒られそうですね。

それでは、HTMLファイルが全くネットワークに繋がっていない(スタンドアロン)パソコンにあった場合、他のパソコンからHTMLファイルが見えるでしょうか?見えません。ECサイトなどを運営する場合は、お客様にいつでもどこでも見て貰わねばなりません。ではHTMLファイルはどこに置けばよいのでしょうか?

Webサーバの機能その1 ファイルを送信する

答えは、Webサーバと呼ばれるサーバコンピュータです。
Webサーバは、私たちがブラウザに打ち込むURLから、要求されているファイルを解析し、探し出して、HTMLファイルや画像を私たちに返してくれます。

素晴らしい!ですが、ここで一つ疑問が。どうしてURLを入力すると、そのWebサーバだと特定出来るのでしょうか。そんな難しい事は、一体だれが行っているのでしょうか。
難しい事は苦手な私ですが、どうやってURLを解析して、どうやってWebサーバにたどりつくのか、説明しているページを見つけましたので、まとめてみたいと思います。以下はこの[1] @IT 「第2回 Webの仕組みとWebサーバの構造」の内容を、噛み砕いて書いたものです。是非@ITの本文もご覧下さい。
まずは、どうやって数あるWebサーバから、一台を特定するのかという所です。

サーバの特定(IPアドレス)

コンピュータ同士の通信では、「プロトコル」というルールブック(約束事集)を使います。その中でもインターネットではTCP/IPと呼ばれるプロトコルで通信します。人間で言いかえると、コミュニケーション手段として、文法を持つ「言葉」を使います。日本人同士ではその中でも日本語を使用します。
TCP/IPでは、コンピュータを特定する方法として、人間世界でいう「郵便番号」にあたる、IPアドレスを使用します。私たち一人一人のパソコンにもIPアドレスが割り振られています。(こういう番号です。211.133.134.90)

私たちは普段何気なくメールやFTPソフトを使っています。対戦型のゲームやアクセス解析も、このIPアドレスがないとコンピュータを特定できないため、出来ないのです。
ちなみに自分のIPアドレスが知りたい方は、コマンドプロンプト(Windowsのスタートからプログラム→アクセサリで開きます)でipconfigと入力し、enterキーを押すと出てきますので、お確かめください。

URLがサーバに届くまで(DNS)

しかし、http://www.webryoku.jpというURLには、数字がありません。これがIPアドレスとなるのでしょうか。
そこでDNS(ドメインネームシステム)の登場です。
ちなみにDNSサーバのうち、最上位(大元)のサーバーは世界に13台あるとされています。これらを特にルートサーバと呼びます。

@IT 「第2回 Webの仕組みとWebサーバの構造」より引用
DNSは、“www.atmarkit.co.jp”のようなホスト名とドメイン名を、IPアドレスに変換するための一覧表を管理している。いわば、インターネット上の電話帳のような役割を果たしているわけだ。

URLの中の、wwwの部分をホスト名、webryoku.jpの部分をドメイン名と呼びます。
ネット上の電話帳があるから、IPアドレスが解らなくても、URLを打ち込めば良いという事なんですね!

これでめでたく(?)Webサーバを特定するために、IPアドレスとDNSという技術が使われている事が解りました。
WebブラウザはWebサーバの場所をDNSサーバに問合わせ、DNSサーバがURLを解析、IPアドレスをWebブラウザに送信して、やっとWebブラウザはWebサーバの居場所が解るという事になります。

Webサーバの機能その2 結果を返す

しかし、HTMLファイルをWebサーバに置き、Webブラウザでどこからでも閲覧できるというだけで、ネットショップとして営業出来るでしょうか?

全てメールで・・という事なら出来るでしょう。しかし、買い物かごを設置するとなるとどうでしょう。
まず商品の情報を登録しなければなりません。お客様に会員登録して貰い、2度目からのお買い物は住所などを入れなくても良いようにもなっています。
買い物かごに入れるボタンを押せば、修正や削除も出来ますし、品切れが起こったらかごに入れられないように、在庫管理機能も付いています。

静的・動的って何?

さてこうなってくると、「動的なページ」となってきました。
所で動的なページとは、どんなページなのでしょうか。

通常、HTML文だけで書かれたファイルをブラウザで表示させた時、何回更新しても結果は同じ、同じページが表示されます。
所が、例えば広告スペースにアクセスするたびに違うバナーが現れたり、検索窓にキーワードを入れるとそのキーワードに沿った検索結果を表示してくれるページ等、
いつも同じ情報が表示される訳ではないページが存在します。掲示板も、入力した情報がWebページに反映されますね。

この様に、何かしらの技術を用いて、サーバ側で処理を行い、表示に動きがあるページの事を動的なページと呼びます。

しかし、HTMLは文章の構造を表す言語なので、そんな難しい命令(値を保持したり、計算したり)は出来ません。
どうやら、難しい命令(プログラム)と、その難しい命令を実行してくれる誰かがいるようですね。
今回はWebサーバの概要なので、この難しい事をしてくれるのは、以下の引用で簡単な説明とさせて頂きます。

[2] ITPro アプリケーションサーバより引用
「WebブラウザからWebサーバーにアクセスし,Webサーバーのバックエンドで動作するデータベースを検索して結果を返してもらい,Webブラウザに表示する」—。
このように,Webサーバーをインタフェースに用いた一連の業務処理を実行するための基盤ミドルウエアを,アプリケーション・サーバーと呼ぶ。

アプリケーションサーバが、命令(プログラム)を受け取ると、要求された処理をして、Webサーバに返します。
それをブラウザに返すのがWebサーバのもう一つの仕事です。重要な、「データの受け渡し係」なのですね。

ちなみに代表的なWebサーバソフトウェアに、フリーウェアのApache(アパッチ)、Microsoft社のIISがあります。


Web力向上ポータル、納得発注道しるべ: http://www.webryoku.jp

記事のURL: http://www.webryoku.jp/information/doubt/case2/p/101

記事中のlink:
[1] @IT 「第2回 Webの仕組みとWebサーバの構造」: http://www.atmarkit.co.jp/flinux/rensai/apache02/apache02.html
[2] ITPro アプリケーションサーバより引用: http://itpro.nikkeibp.co.jp/article/REVIEW/20070622/275581/

Copyright © 2008 Webの仕事力向上ポータル、納得発注道しるべ. All rights reserved.