2006 年 9 月 10 日 23 時 57 分

JavaScript: 動的なクライアント側ページ


このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。


HTTP の基本的な所については大方見てきた。
HTTP は現在においてもそれほど大きく変わってはいない。
Web ベースのシステムの表現力が向上しているのは、
HTTP よりも上の層の技術が発達してきたからである。

では、Web ブラウザ側の技術について考えてみよう。
最初の頃は、HTML による静的表現しかできなかったが、
クライアント側で動的な表現を行うための、
JavaScript というプログラミング言語が生まれた。

これも、Netscape Communications 社が起源であり、
Web ブラウザ Netscape Navigator に搭載された。

JavaScript は、HTML に埋め込む形で記述し、
Web ブラウザによって解析されて処理を行う。
これにより、Web ブラウザ側で動的な処理が可能となる。

主な機能は、Web ブラウザ側で、
動的に HTML ページを作成して表示すること、
フォームや画像の内容を細かく制御できること、
別の URL への移動やウィンドウ操作、
メッセージボックスの表示等である。

従来では、フォームは Web サーバに送信されてから、
Web サーバ側で内容の検証が行われ、
もしその内容に不備があれば、
Web サーバがエラーページを返して表示した。

JavaScript を使えば、フォームを送信する前に、
Web ブラウザ側でその内容のチェックをし、
内容に不備があれば、メッセージを画面に表示し、
利用者に再入力を促すような使い方ができた。

また、ある入力項目の内容によって、
別の入力項目の内容が制限を受ける場合、
例えば、日付をリストで入力させる場合(良くない例だが)
「月」として 4 が選ばれた場合、
「日」として 31 が選ばれないようにすることができる。

これら機能により、Web サーバとの通信回数が減るため、
Web サーバの負担が少なくなると共に、
利用者側にも、通常のプログラムと同じような、
より使いやすいフォームを提供することができるのだ。

また、動的に HTML を作成する方法を使えば、
JavaScript で新しいウィンドウを開き、
そのウィンドウ内に新しい HTML を書き込みことで、
動的にレポートを作成することができる。

Web サーバが持つデータを必要としない場合は、
フォームなどと組み合わせて、
全てクライアント側で処理することができるわけだ。

JavaScript が Web ブラウザ上で動作するということは、
利用者の環境で動作するということでもある。
悪意のある製作者が JavaScript を含む HTML を書き、
それを利用者が Web ブラウザで開いた際に、
利用者の環境を破壊しないように、
JavaScript にはファイルアクセスの仕組みは存在しない。

当初の JavaScript の目的は、
主に操作性を向上するためであったが、
CSS や DOM の登場により、
その役割は徐々に変わっていくことになる。



Copyright (c) 1994-2007 Project Loafer. All rights reserved.