Webページ作成で知っておくべき知識


 ここでは、Webページ作成で知っておくべき知識を載せます。
 少し難しいことも出てきますが、完全理解とはいかなくても、簡単なイメージだけはつかんで欲しいと思います。

ブラウザに表示されるまで
 皆さんがWebのページを表示するときに、ブラウザに「アドレス」というのを指定して表示を行っていると思います。
 自分のマシンのブラウザから指定したアドレスの情報がどのようにして処理されているのでしょうか?
 詳しいことは「ソフトウェア開発関連の部屋」の「ネットワーク」の部分で説明することにしますが、ここでは、簡単な説明だけにします。

 さて、ブラウザにアドレスを打ち込んだ後、どういった処理がなされて表示されるのでしょう。
 少し乱暴な説明をすると、以下のようになります。
 1.文字列のアドレスから数字のアドレスを取得
 2.取得した数字のアドレスへ接続
 3.接続したアドレスのマシンのWebサーバアプリケーションが、ファイルを探す
 4.取得結果を要求元に返信

 1.の部分は、通信に関する知識が必要になりますが、簡単に説明します。
 インターネットの通信では、TCP/IPというプロトコルが利用されています。
 このプロトコル(規約)は、マシンのアドレスを4バイトの数字で表すことになっています。
 実際、マシンとマシンの通信においては、文字列の通信より、この4バイトの通信のほうが扱いやすいため、文字列から数値に変換されています。
 文字列と数値の対応をしているものに、DNSというものがあります。(詳細はネットワークで説明)
 DNSは、人間が理解しやすい文字列によるアドレスと、コンピュータが理解しやすい数字によるアドレスの変換を行っております。
 ブラウザで要求した文字指定によるアドレスのうち、http://〜/の「〜」の部分を、数値に変換します。
 こうすることにより、変換したアドレスで特定のマシンへの接続が可能となるのです。
 ここまでがまず、1.の部分となります。
 2.の部分は、1.で取得したアドレスを元に、相手マシン(サーバ)に接続を行います。
 このとき、どの要求かを指定する必要があります。
 今回で言えばHTTPという要求で接続することとなっています。(ここも詳細はネットワークで)
 うまく接続が成功すると、3.の処理となります。
 3.の処理からは、相手側(サーバ側)の処理となります。
 接続が成功した後は、/以下のアドレスを元に、サーバ側でファイルを探します。
 見事見つかった場合には、そのファイルの内容を返し、見つからなかった場合には、エラーを返します。
 その処理4.で、ブラウザはその返答を元に画面に表示をします。

 この処理から、Webページは、結局はファイルを表示しているということを理解してくれれば、今回は構いません。
 しかもそのファイルを表示しているのは、サーバ側で探索して結果が返っているというところまで理解してくれればいいです。※1

ブラウザに表示されるとき
 さて、ブラウザに表示されるときはどうなるのでしょうか?
 ブラウザにおいては、まず、その内容がHTML形式なのか、それ以外なのかを判別しています。
 これは通信内容の中に入っているので、通常、皆さんが気にすることはありません(ただし、CGI等では必要になる知識です)。※2
 そして、これがテキストファイルであれば、テキストファイルとして処理します。

 HTMLファイルは、テキストでかかれています。
 その中で、「タグ」と呼ばれるものが見つかった場合、その構造にあわせて、画面に表示していきます。
 この「タグ」ですが、基本的には文書の構造を指定するために使うものです。
 たとえば「ここからここまでの文字の太さを変える」「ここに画像を表示する」「ここは表を表示する」などです。
 なお、タグについての細かい話は、後のページで記すことにします。

ブラウザに表示された後
 ブラウザに表示されて、表示が終了すると、新たに読み直すまでは何も実行されません。※3
 文章が表示されて終わりとなります。
 HTML自体の話になるのでここでは詳しく書きませんが、元々HTMLは、学術文書のやり取りをするために提案されたため、
今のWebのように、いろいろとカラフルな、(もしくは芸術的な)ページを表記することは考えられていませんでした。
 「学術文書のやり取り」ということですので、文章が読めればよかったわけですね。※4
 結果、ブラウザに表示されたあと、その内容について意見を交換するためには、メール・電話・FAXで話す必要がありました。
 また、それで十分だったのでしょうね。
 話がそれましたが、そういう部分から始まったため、基本的にタグは、文章の構造のみを指定するものばかりです。
 そのことを理解していただければ、極論ですが、HTMLは「文章を書くこと」であると思っていただいても構いません。※5

理解して欲しいこと
 ここまでで理解して欲しいことは以下の部分です。

 1.クライアント―サーバ―クライアントと、Webページが表示されるまでの流れ。
 2.Webページの基本が、テキストが基本で、静的なページが表示されるだけで、動的なことは無い。

 動的なことを最初からするのは難しいので、まずは静的なページの作成から行うことをお薦めします。

本文注

※1: このことを理解できずに、相手のサーバがメンテナンスに入り電源断しているのに「サーバを直せ!」と言った、ソフト開発関連の課長さんが居たそうです。
まあ、知らなければ知らないで終わりですけどね。
※2: CGIでは、返信情報を書く部分があります。
ここで「これから送信するのはテキスト情報ですよ」などと返すんですね。
ちなみにHTMLファイルの場合は「HTMLファイルですよ」と返すことになります。
※3: JavaScriptなどを使えば別ですが、基本的にHTMLというものは静的(一度表示したらそのまま)なページとなります。
※4: HTMLの限界として、あくまでも「文章のやり取りが目的」であり、「データの交換」等には向いてません。
その部分を現在の要求に合わせてなんとかしようとしたのがXHTMLと言えなくもありません。
XHTMLに関しては、XMLの技術的な流れ・背景も知らないとなりませんので、ここでは割愛します。
※5: なぜこういったことを書いたかというと、最近、「Webページを作る=プログラミング」という考えの人が増えているからです。
残念ながら、Webページの作成のうち、HTMLだけのページはプログラミングとは言えません。
「ワードで文章を書いた」と言ったって、誰もプログラミングとは認めてくれないと思います。
それと同じレベルだということを敢えて言わせていただきます。
(ただし、Webブラウザを利用したアプリケーションの作成で、HTML以外にJavaScript等も利用している場合は除きます。)

戻る