ユーザー情報の収集

ユーザーからサインアップ情報を収集するには、一連の HTML ページを作成した後、それらのページを ISS から HTTP クライアントにオンデマンドでアップロードします。ユーザーにサインアップ操作を実行させるための一連の HTML ページは、Windows ベースのプログラムにおけるウィザードによく似ています。各ページのコンテンツやフォーマットは自由ですが、HTML ページは一般に次の要素で構成されます。

このほかに、最後のページには、完成したサインアップの申し込み書をユーザーが ISS に送信するためのボタンも表示します。

ユーザーのサインアップ用ページを作成するには

  1. メモ帳か FrontPage Express を使い、サインアップ用のサンプル ページである Home.htm を開きます。Home.htm は、Reskit\Isp\Server\Scripts\Sample フォルダに入っています。

  2. [表示] メニューで [ソース] をクリックします。
  3. 必要に応じてファイルを変更します。
  4. [ファイル] メニューで [保存] をクリックします。変更したファイルは、元のファイルと同じディレクトリに保存しなければなりません。

注意
サインアップ サーバーの情報に対するリンクだけでなく、インターネット アカウントを既に所持しているユーザーからカスタム ブラウザにアクセスできるようなリンクも用意しなければなりません。

HTML フォームと CGI 処理の利用

ウィザードに似たインターフェイスを提供する HTML ページを作成するには、HTML フォームと CGI 処理を使用する必要があります。各フォームは、ユーザーから情報を収集し、ユーザーがナビゲーション ボタンをクリックすると GET メソッドを使用して、該当する情報を CGI プロセッサに引き渡します。

一般に、各 HTML ページのフォームでは、次のコントロールを使用します。

ユーザーがいずれかのフォームでナビゲーション ボタンをクリックすると、そのフォーム内のデータが CGI プロセッサに送信され、CGI プロセッサ自身のデータベースに蓄積されます。このとき、データを検証して誤りがあれば、HTTP クライアントに編集ページを送信することもできます。また、CGI プロセッサがデータを受信するたびにそのデータを自分のデータベースに格納したり、サインアップ セッションが完了するまで待ってからそのデータを自分のデータベースにまとめて格納したりも行えます。

CGI プロセッサは、データの記録が終わると、どのボタン コントロールでデータ送信が実行されたのかを判断します。次に、その情報を使用して次の HTML ページを構築し、ユーザーのデスクトップ コンピュータにアップロードします。CGI プロセッサは、可変トークンが入った HTML テンプレートに基づいて、次の HTML ページを動的に構築します。たとえば、$SessionHandle のような可変トークンに構文解析が実行されると、HTML ストリーム内のそのトークンは適切な変数値で置き換えられます。最後に、CGI プロセッサは、動的に作成した HTML ファイルを、標準出力ストリームを使用して HTTP クライアントに送信します。

動的 HTML を使用すると、フォーム コントロールとデータを事前に読み込んでおくことができます。そのため、ユーザーは、HTML ページを前後に移動して、入力済みのデータを確認したり変更したりできます。

セッション ハンドル

CGI プロセッサは、一意なセッション ハンドルを使用して、個々のサインアップ セッションのトランザクションをすべて識別します。CGI プロセッサは、セッション ハンドルを HTML フォームの中の隠しコントロールに埋め込み、HTTP クライアントにアップロードします。HTTP クライアントは、CGI プロセッサに各フォームを返送するたびに、セッション ハンドルを返します。

アイドル タイムアウト

HTTP はセッションレスのプロトコルであるため、サインアップ セッションが放棄されたことを ISS が知るためには、外部の監視 (ウォッチドッグ) プロセスが必要です。サインアップ セッションが開始されると、ISS はタイム スタンプを作成して、サインアップ データベースに登録します。

監視プロセスは、そのデータベースを定期的にスキャンして、サインアップに割り当てられている所定の時間をセッションが超えていないか調べます。所定の時間を超えていると、監視プロセスは時間切れと見なし、そのサインアップ トランザクションを終了します。