HTMLとどこが違うの?なにができるの?
ここを読んでいるということは、おそらくHTML等でホームページを作ることはできる方がほとんどではないかな~、などと勝手に思ってますが、もしHTMLってなに?という状態でしたら、そちらを先にお勉強された方がいいかと思います。(絶対必要な知識になりますので・・・)
さて、Webプログラムで何ができるのか?ということですが、先にも「掲示板」や「チャット」、「カウンター」などダイナミック(動的)にページを作り出すことが可能になると言いました。
では、なぜこのようなことができるのかということを、ここで、ホームページの見える仕組みの基本というのを復習(?)しながらいっしょに考えて行こうと思います。
ホームページはブラウザからのクリックや「お気に入り」のタブを選択したり、アドレスを直接入力して表示させます。いずれの方法で表示させても、URL(Uniform Resource Locator、URIという方が正しいみたいですが)、いわゆる「http://www.....」という情報により、表示させたいHTML文書の場所を教えることで、その場所にアクセスして、「***.html」というファイルを読み出すことにより表示されます。
つまり、「このファイルが欲しい!」というブラウザ側のリクエスト(要求)に対して、「了解!送るよ~」というサーバー側のレスポンス(応答)という通信によって、ホームページの表示というのが成り立っているのです。
ウェブアプリと通常のページの違い
(通常のホームページの場合)
じゃあ、内容が動的に表示される掲示板やカウンターといったWebプログラムの場合はどうでしょう?これも、基本的には同じように「要求」に対して「応答」という手順を踏むのですが、若干違うのは、要求された時点でプログラムが起動して、そのプログラムに書かれた内容の仕事を行い、その結果を「レスポンス(応答)」として返すのです。
(Webプログラムの場合)
つまり、要求があって、その要求に応じた内容の仕事をプログラムがせっせとがんばってから、「表示」という手順になります。このような理由で、内容を動的に変化させながらページを作り出しているのです。ですから、いろいろと処理を行った結果をサーバー側に保存しておいて、それを不特定多数で操作するということも可能になるわけです。一種のファイル共有みたいなことがおこなわれているんですね。
いわゆる掲示板システムなどは、みんなの発言した情報を共通のファイルとしてサーバー側に保存して、それを見るときにホームページの形式にして表示させているだけのことなのです。仕組み的には至って簡単ですよね。
一方で、よく聞くJavaScriptやJavaAppletというのは、これらの処理を各個人のブラウザ上で行います。だから当然ですが、そこでされた処理というのは、それを見ている一人だけでしか見ることができないわけですよね(処理の結果が共有されていません)。 掲示板の例でいうなら、このサーバー側でファイルに保存というのが、 HTMLやJavaScript、JavaAppletという技術では逆立ちしてもできない・・・ということなので、これらの技術だけでは実現できないというわけなのです。
ただ、Webプログラムさえあれば何でもできるか?ということですが、答えはNOでしょう。WebプログラムでしかできないことはWebプログラムで行い、JavaScriptなどでしたほうが便利なことはブラウザ側でJavaScript等にしてもらう・・・という合わせ技を使うことで、本当に便利なページをつくることができるようになります。
(更新2004/12/25 by あいまい)





