ウェブのしくみ(4/5)~ブラウザ側プログラム編~
2018/02/02
ウェブのしくみ
~ブラウザ側プログラム編~
ブラウザ側のプログラム
HTTP通信は、サーバー側とブラウザ側で共通認識を持つための手段ですが、
共通にする必要のないことは、通信せず片側だけで処理した方が効率的です。
ウェブサーバーが他のプログラムと連携し、サーバー側で処理したように、
ブラウザもプログラムと連携し、通信せずブラウザ側だけで処理ができます。
ブラウザはウェブサーバーからHTMLを受け取ってそれを読み込みますが、
そのHTML内にプログラムが書かれていると、
HTMLの読み込みと同時に、そのプログラムもブラウザ側に準備されます。
※ HTML内でのプログラムの書かれ方には、以下のA、Bのように、2種類があります。
A) HTML内にプログラム 文 が直接書かれている場合
B) HTML内にプログラム ファイルのURL が指定されている場合
ブラウザ側でプログラムが準備されると、
準備完了後すぐに 処理が実行されたり、
何かをスイッチとして 処理が実行されたり
します。
スイッチの例:
- マウス/キーボード/タッチパネル操作
- 待機時間(プログラム内タイマー) など
プログラム処理の例:
- ブラウザ内データ処理(履歴使用、ファイル管理、…)
- 他プログラムとの連携(メール、GPS、…)
- ウェブサーバーへの自動リクエスト
- 状況に応じたブラウザ表示
など
アドオン
ブラウザ側プログラムの代表例は、JavaScript<ジャバスクリプト> や Flash<フラッシュ> などです。
※ Flash は、プログラム以外の動画等も含む用語で、正確にはプログラムだけを ActionScript<アクションスクリプト> と言います。
多くのブラウザでは、これらの処理が自動的に動く状態になっています。
ただし場合によっては、アドオンやブラウザの設定変更が必要になります。
アドオンはブラウザに最初はついていない追加(add on)の機能のことです。
見た目はブラウザの機能であっても、実際はブラウザとは別のプログラムが
ブラウザと連携して動いている場合もあります。
このようなアドオンをプラグインとも言います。
例)Flash 実行用の Flash Player (プログラム)など
ブラウザの設定
ブラウザは、ウェブページを作者の意図通りに伝えるのが本来の役目です。
しかし、すべてウェブページの言いなりで勝手に動くのも不気味な話です。
そこで通常は、各機能を利用者側で選択・制限できるようになっています。
まとめ
- わざわざ通信する必要のないことは、サーバー/ブラウザそれぞれで処理した方が効率的です。
- HTML内にプログラムが書かれていると、ブラウザは自動的にそのプログラムを準備します。
- ブラウザ側に準備されたプログラムは、利用者がする操作等をスイッチとして、データ処理やリクエスト送信などを自動的に行えます。
- HTML内のプログラムの書かれ方は、HTML内に直接その中身が書かれているか、プログラムファイルのURLが指定されているか の2パターンがあります。
- ブラウザ側のプログラムには、JavaScriptやFlashなどがあり、アドオン(追加機能)やプラグインが必要になる場合もあります。
- ブラウザは、必ずしもHTMLやプログラムに従って自動的に動くだけではなく、利用者が「この機能は使用する/しない」を選択できるようにもなっています。
だから…
標準的なブラウザの設定や、セキュリティソフト等により、
不審なウェブページを警告したり、利用者がふつうは選択しない自動実行を防いだり、…
もある程度はできます。
ただし、利用者が判断して選択した機能だと、防ぎようがありません。
たとえば、HTMLに書かれたブラウザ側プログラムを 何でも許可 してしまうと、
すべてをウェブページの一部として、ブラウザが 自動実行 するようになります。
つまり・・・
利用者が想定していなかったものまで実行されてしまう危険性があるのです。
逆に、ブラウザやセキュリティソフトの設定を最高レベルにまでひき上げると、
多くのウェブページを正しく見ることすら、簡単にはできなくなってしまいます。
様々な利用者がいる以上、便利と危険の線引きは難しく、
ある程度の機能は利用するとしても、
- 利用者が継続的に学習して、判断する力を身につける
- 定評のあるブラウザやセキュリティソフトを最新の状態で使う
- リスクを判断できない不安なウェブページは、開かない、すぐ閉じる
…といったことが最低限の安全策になります。