11章 サーバとクライアントのやり取り
11.1 サーバ・クライアントシステム
・サーバ
サーバは、WEBページを提供するために、表示するファイルを置いてあるマシンのこと。
・クライアント
情報を必要として、そのWEBページにアクセスするユーザ、またはそのユーザのマシンのこと。
11.2 WEBページ表示の流れ
・リクエスト
あるWEBページに対して、どのHTMLファイルがほしいかの要求を、サーバに出すこと。ブラウザのアドレスバーにURLを入力した時などに送信される。
・サーバ側処理
リクエストを受け取ったサーバは、リクエストされたファイルを返す。そのファイルがプログラムファイルだった場合、そのプログラムを実行し、プログラムが出力したHTMLをクライアントに返す。
・レスポンス
サーバがクライアントに要求されたファイルを返すこと。HTMLを受け取ったクライアント側のブラウザは、HTMLを解読し、表示する。
・クライアント側処理
HTMLファイル内にJavaスクリプトなどのプログラムや、Flashなどのクライアント側で動作するプログラムがあった場合は、ブラウザやプラグインがこれを実行する。
11.3 プログラム
・サーバ側アプリケーション
サーバ側で動作するプログラムで現在、最も主流となっているのはPHP。CGIはアクセスが集中すると、パフォーマンスが落ちるが、PHPは安定している。
Javaは安定性も信頼性も良いが、プログラマー初心者には少し難しい。
ColdFusionは最近の言語で、簡単かつ開発効率もよく、安定性も良いが、ライセンス費用がかかる。
CGI(Perl、C言語)、PHP、ASP、Javaサーブレット、JSP、ColdFusionなど
・クライアント側アプリケーション
クライアント側で動作するプログラムで現在、最もよく使われているのはFlash。スクリプト言語ではJavaスクリプトが主流。
Javaアプレットは制限も多く、また開発が初心者には難しいので、あまり使われていない。
Flash、Shockwave、Javaアプレット、Javaスクリプト、VBスクリプト、ActiveXなど。
11.4 サーバの注意点
・負荷
サーバとクライアントの関係は、1対1ではなく、1対多であるので、常にパフォーマンスを考慮しなければならない。
・トランザクション
ファイルに書き込む際や、データベースに書き込む際は、トランザクションを考慮しないと、複数のユーザが同時に書き込みを行ったりした場合に、データが破壊される恐れがある。トランザクションとは、ファイルやデータベース書き込みの際に、対象をロックして、他のユーザを待たせる処理のこと。
・セッション
システムで会員のログインなどを行った場合、ログイン情報を常に持っておかなくてはならないので、その仕組みをどうするかを考慮する必要がある。
・セキュリティ
WEBページにアクセスしてくるものの中には、悪意を持ったハッカーが接続してくる場合もある。あらゆる場合を考えて、対策をしておくことが望ましい。
11.5 クライアントの注意点
・クライアントの環境
WEBページにアクセスしてくるユーザは、いろいろなユーザがいるため、いろいろな状況を考慮しなければならない。
クライアントマシンのOSやブラウザの種類、バージョン、プラグインの有無など。
・スペック
ユーザの中にはハードウェアのスペックが低い人もいる。そのため、あまり負荷のかかるクライアント側プログラムを動かすべきではない。
・回線
ブロードバンドが普及し、ADSLやフレッツなどの高速回線の接続が増えているが、ユーザの中にはまだ電話回線の人もいるので、あまり大きなファイルを使用すべきではない。
|