WWWの基礎の基礎

インターネットの仕組み

まず、クライアントはインターネット上の住所とも言えるIPアドレスをプロバイダーから取得することで、インターネットに接続します。そして、例えば、Webブラウザ等をもちいて「『http://www.yahoo.com』に接続したい」という要求を送ります。『http://www.yahoo.com』のサーバーはこの要求を処理し、接続可能であればクライアントに対して『http://www.yahoo.com』の情報を送信します。
その他にも、メーラー(Outlook Express等)を用いてメールを送受信する場合などもこれと似たプロセスを踏みます。

ブロードバンドとナローバンド

最近(といっても結構前)、ブロードバンドという言葉をよく耳にするようになりました。ブロードバンドとは、概ね500kbps以上の通信回線のことを指します。当然、500kbps未満の回線がナローバンドになります。
普通は、500kbpsと言われてもピンとこないのでこれを説明します。500kbpsを分解すると、「500」は数字、「k」はキロ、「b」はBit(単位)、「p」はPer、「s」はSecondに分かれます。つまり、1秒間に500キロBitのテータ転送が可能であると言う意味になります。
さらに、キロBitを分かりやすくすると1キロBitは1000Bit(1024Bitという説もある)、8Bitで1Byteなので、500キロBitは62,500Byteということになります。日本語1文字は基本的に2Byteなので、ブロードバンドは1秒間に31,250文字のデータを転送できることになります。

日本でブロードバンドという言葉が使われだしたのはADSLが普及し始めた頃ですが、当初の通信速度は1.5Mbpsでした(現在のADSLの最速は40Mbps以上)。これ以前は、ISDNの128kbpsが最速でしたので、ADSLの登場で通信速度は一気に10倍以上となり、現在はFTTH(光ファイバー)によって100Mbps(1M = 1000k)の通信が可能で、インターネットを利用して映画を観るといった、一昔前では考えられなかったような事がブロードバンドによって可能になりました。

ホームページとは

ホームページ」とは、日本では個人や団体が複数の文書や画像等を用いてインターネット上に公開しているページ群のことを指します。「日本では」と書いたのは、日本における「ホームページ」と海外における「Home Page」の意味が異なっているからです。
日本で「ホームページ」と呼ばれるものは、本来、「Web Site(Webサイト)」と呼ばれ、「Home Page」とはWebブラウザを起動した際に最初に表示されるページの事を指し、それが転じて、「Webサイト」のトップページを指すようになりました。日本に住んでいても「ホームページ」は世界に配信されているので、「Webサイト」と覚えておく方がいいでしょう。
また、「Home Page」を「HP」と略すのをよく見かけますが、これもあまり推奨されません。なぜなら、「HP」は大手コンピュータメーカーであるHewlett-Packard社の略称として用いられており、混同する可能性があるからです(Hewlett-Packardに失礼という説も有り)。
ちなみに、Webサイトの中でHome Pageではないページの事を「Web Page(Webページ)」と呼びます。

HTMLとは

Webサイトは、主にHTMLで作られています。HTMLとは「HyperText Markup Language」の略で、名前の通り、文章構造や修飾情報といった論理構造を「タグ」と呼ばれるもので囲むことで記述していくマークアップ言語です。ですから、HTMLでレイアウトを行うことは、その目的から外れています。
たとえば、対象をボールド体(太字)にする「<B>」というタグがありますが、これは非推奨とされています。なぜなら、「<B>」は文字を物理的に太字にしているに過ぎず、なぜボールド体になっているかといった情報は含まれないからです。ですから、もし、強調する意図でボールド体を用いているならば「<STRONG>」タグを使う必要があり、ボールド体にした意図が見栄え以外にないのであれば「CSS」を用いる必要があります。

CSSとは

CSSとは、Cascading Style Sheetsの略で、「Webページ」をレイアウトする規格です。
HTMLでなされた配色等は、一旦ファイルを保存し、ソースレベルで書き換えなければユーザーが変更することは出来ませんでしたが、CSSはHTMLと切り離すことが出来るため、ユーザーが複数のレイアウトから選択することが出来るようになりました。ユーザーが独自にレイアウトを定義するにはCSSを学ばなければなりませんが、CSSを無効にすることは比較的簡単に出来るため、Webサイトの配色、レイアウトがユーザーにとって見づらい、もしくは見えないものであっても、楽に閲覧できます(ありえないレイアウトをするようなWebサイトは、CSSを使っておらず、無効にしても意味がない場合が多いですが・・・)。

また、CSSを用いるとWebサイトのレイアウトを変更する時に手間がかからなくてすみます。例えば、全てのページで統一したレイアウトを行い外部CSSを共有しておけば、そのCSSファイルを変更するだけでサイト全体のレイアウトが変更できます。(微調整は必要になるとは思いますが。)

ちなみに、CSSのレイアウトは全てのWebブラウザで一緒というわけではなく、企業等、Webサイトの見え方を重視するような所ではHTMLでレイアウトを行っている場合が多くあります。

CSSの切り替え例:CSSを無効にする(IE6, Netscape7, Opera7で動作確認)

JavaScriptとは

JavaScriptとは、HTMLによる静的な表現しか出来ないWebページに動きを加えるために開発されたスクリプト言語です。スクリプト言語はプログラミング言語の一種で、一般的なプログラミング言語は、英語や記号、数字で作られたソースコードを製作者が、コンピュータが実行できる形式に変換(コンパイル)する必要がありますが、スクリプト言語は変換をユーザー側が自動で行うため、簡単に作成、配布することが出来ます。
プログラミング言語のJAVAと名前が似ており、JavaScriptをJAVAと略す方がいますが、両者は全く別のものですので混同しないようにしましょう。

JavaScriptは便利ですが、スクリプトの実行をユーザー(Webブラウザ)が行い、サーバーとは通信できないという特徴があります。つまり、JavaScriptはソースコードとユーザーのコンピュータの1対1の関係でしかありません。
たとえば、JavaScriptで時間を取得することは出来ますが、取得した時間はユーザーがコンピュータに設定した時間であり、ユーザーのコンピュータの時間が間違っている場合、現在時刻とはかけ離れた時間が表示されるという間抜けな結果になります。また、Webサイトで、現在までの閲覧者数の表示(アクセスカウンター)をよく見かけますが、これは、「自分の他に何人閲覧したか?」という情報が必要になるため、JavaScriptでは実現できません。

CGIとは

HTML, CSS, JavaScriptでは実現できなかった「サーバーとの通信」を可能にしたものがCGIです。
CGIは、ソースコードの実行をサーバー側で行い、その結果をユーザーに返すという形でサーバーとの通信を実現します。たとえば、アクセスカウンターであれば、「CGIが呼び出された時、今までの閲覧者数を記録してあるファイルを開き、それに1を足して保存、ユーザーには数字を返す。」という動作で可能になります。
しかし、CGIを通してサーバーに悪意ある情報をユーザーから送られる可能性があるといったセキュリティー上の問題があり、便利ではありますが、それほど敷居の低いものではありません。

ちなみに、CGICommon Gateway Interfaceの略で、仕組みをさすため、これ自体はプログラミング言語ではありません。CGIを使用する言語でもっとも普及してるのがPerlで、他にPHP等があり、C言語を使用する場合もあります。

注意
しっかりと調べて書いているわけではないので、所々に嘘がある可能性があります。興味を持たれた方は自分で調べてみて下さい。
本文は、2005年1月24日現在のものです。