(57)【要約】【課題】複数のリクエストやレスポンスに引き継がれているパラメータ値の入力フォームを特定すること。【解決手段】リクエストＲ２だけでは、どのパラメータのパラメータ値がどの入力フォームで入力されたかがわからないため、リクエストＲ２のパラメータのフィールド種や時系列で先行するレスポンスからのパラメータ値の引継ぎ状態を特定することで、どのパラメータの値がどの画面の入力フォームで入力されたかを特定する。パラメータ「ｎａｍｅ」の値「ｔａｎａｋａ」、パラメータ「ｍａｄｒｓ」の値「ｔａｎａｋａ％４０ｅｘａｍｐｌｅ．ｃｏｍ」は、画面１０１の注文フォームで入力されたと特定できる。パラメータ「ｎｕｍ」の値「５」、パラメータ「ｃｏｌ」の「１」、パラメータ「ｐｒｏｄｕｃｔＩｎｆｏ」の値「ｙｅｓ」は、画面１００の注文フォームで入力されたと特定できる。【選択図】図１
2013025506.tif 000002
【特許請求の範囲】
【請求項１】
要求側装置からの一連のリクエストと当該一連のリクエストの各々のリクエストに対応する応答側装置からの一連のレスポンスとを記憶する記憶手段と、
前記記憶手段に記憶されている前記一連のリクエストのうち先頭リクエスト以外のリクエスト群から選ばれた目的リクエストを注目リクエストに設定する設定手段と、
前記注目リクエストに含まれているパラメータに一致する属性の値を有する送信元フォームが探索されるまで、前記設定手段によって設定された注目リクエストに対応するレスポンスから時系列で先行する先行レスポンスを前記記憶手段から順次選択する探索手段と、
前記探索手段によって探索された送信元フォーム内の前記目的リクエストに含まれている目的パラメータが、非表示属性項目でないパラメータである場合、前記送信元フォームを前記目的パラメータの入力フォームに決定する決定手段と、
前記決定手段によって決定された決定結果を出力する出力手段と、
を備えることを特徴とする探索装置。
【請求項２】
前記注目リクエストを、前記探索手段によって前記送信元フォームが探索されたときの先行レスポンスに対応するリクエストに更新する更新手段と、を備え、
前記決定手段は、
前記送信元フォーム内の非表示属性項目である目的パラメータについて、前記目的リクエストでのパラメータ値と前記更新手段による更新後の注目リクエストでのパラメータ値とが不一致である場合、前記送信元フォームを、前記非表示属性項目である目的パラメータの入力フォームに決定することを特徴とする請求項１に記載の探索装置。
【請求項３】
前記探索手段は、
前記送信元フォーム内の非表示属性項目である目的パラメータについて、前記目的リクエストでのパラメータ値と前記更新手段による更新後の注目リクエストでのパラメータ値とが一致する場合、前記更新後の注目リクエストに含まれているパラメータに一致するｎａｍｅ属性の値を有する送信元フォームが探索されるまで、前記更新後の注目リクエストに対応するレスポンスから時系列で先行する先行レスポンスを順次選択することを特徴とする請求項２に記載の探索装置。
【請求項４】
前記出力手段は、
前記目的パラメータおよび前記目的パラメータのパラメータ値ごとに、前記決定手段によって決定された前記目的パラメータの入力フォームを関連付けて出力することを特徴とする請求項１〜３のいずれか一つに記載の探索装置。
【請求項５】
要求側装置からの一連のリクエストと当該一連のリクエストの各々のリクエストに対応する応答側装置からの一連のレスポンスとを記憶する記憶手段にアクセス可能なコンピュータが、
前記記憶手段に記憶されている前記一連のリクエストのうち先頭リクエスト以外のリクエスト群から選ばれた目的リクエストを注目リクエストに設定し、
前記注目リクエストに含まれているパラメータに一致する属性の値を有する送信元フォームが探索されるまで、設定された注目リクエストに対応するレスポンスから時系列で先行する先行レスポンスを前記記憶手段から順次選択し、
探索された送信元フォーム内の前記目的リクエストに含まれている目的パラメータが、非表示属性項目でないパラメータである場合、前記送信元フォームを前記目的パラメータの入力フォームに決定し、
決定された決定結果を出力する、
ことを特徴とする探索方法。
【請求項６】
要求側装置からの一連のリクエストと当該一連のリクエストの各々のリクエストに対応する応答側装置からの一連のレスポンスとを記憶する記憶手段にアクセス可能なコンピュータに、
前記記憶手段に記憶されている前記一連のリクエストのうち先頭リクエスト以外のリクエスト群から選ばれた目的リクエストを注目リクエストに設定し、
前記注目リクエストに含まれているパラメータに一致する属性の値を有する送信元フォームが探索されるまで、設定された注目リクエストに対応するレスポンスから時系列で先行する先行レスポンスを前記記憶手段から順次選択し、
探索された送信元フォーム内の前記目的リクエストに含まれている目的パラメータが、非表示属性項目でないパラメータである場合、前記送信元フォームを前記目的パラメータの入力フォームに決定し、
決定された決定結果を出力する、
処理を実行させることを特徴とする探索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を探索する探索装置、探索方法、および探索プログラムに関する。
【背景技術】
【０００２】
Ｗｅｂサイトとクライアント間でやり取りされるリクエストとレスポンスから、セッション追跡パラメータを探し、探し出したセッション追跡パラメータを用いてＷｅｂサイトのセキュリティ検査を行う従来技術１が開示されている（たとえば、下記特許文献１を参照。）。従来技術１では、セッション追跡パラメータを推定するために、ある特定のパラメータとパラメータ値が、予め指定したリクエストやレスポンスに含まれているかどうかを調べている。
【０００３】
また、サーバからクライアントに送られるレスポンスに、フォームＩＤを埋め込み、クライアントからサーバへのリクエストに、埋め込んだフォームＩＤが含まれるかどうかを調べることで、フォームを追跡する従来技術２が開示されている（たとえば、下記特許文献２を参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３１０２６７号公報
【特許文献２】特開２００９−５３７４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術１では、リクエストやレスポンスに、パラメータやパラメータ値が含まれているかどうかということを調べると、入力フォームがどのレスポンスに含まれているかは確認できないという問題があった。また、上述した従来技術２では、利用者によるフォームＩＤの埋め込み作業が必要となるため、手間がかかり、使い勝手が悪いという問題があった。
【０００６】
本発明の一側面では、複数のリクエストやレスポンスに引き継がれているパラメータ値の入力フォームを特定することができる探索装置、探索方法、および探索プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、要求側装置からの一連のリクエストと当該一連のリクエストの各々のリクエストに対応する応答側装置からの一連のレスポンスとを記憶する記憶手段に記憶されている前記一連のリクエストのうち先頭リクエスト以外のリクエスト群から選ばれた目的リクエストを注目リクエストに設定し、前記注目リクエストに含まれているパラメータに一致する属性の値を有する送信元フォームが探索されるまで、設定された注目リクエストに対応するレスポンスから時系列で先行する先行レスポンスを前記記憶手段から順次選択し、探索された送信元フォーム内の前記目的リクエストに含まれている目的パラメータが、非表示属性項目でないパラメータである場合、前記送信元フォームを前記目的パラメータの入力フォームに決定し、決定結果を出力する探索装置、探索方法、および探索プログラムが提案される。
【発明の効果】
【０００８】
本発明の一側面によれば、複数のリクエストやレスポンスに引き継がれているパラメータ値の入力フォームを特定することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、ネットショッピングに関するＷｅｂアプリケーションの画面遷移例を示す説明図である。
【図２】図２は、本実施の形態にかかる探索装置を有するシステムのシステム構成例を示す説明図である。
【図３】図３は、コンピュータのハードウェア構成例を示すブロック図である。
【図４】図４は、探索装置２０３のＤＢ２０４の記憶内容の一例を示す説明図（その１）である。
【図５】図５は、探索装置２０３のＤＢ２０４の記憶内容の一例を示す説明図（その２）である。
【図６】図６は、探索装置２０３のＤＢ２０４の記憶内容の一例を示す説明図（その３）である。
【図７】図７は、探索装置２０３の機能的構成例を示すブロック図である。
【図８】図８は、インデックスページ情報の画面例を示す説明図である。
【図９】図９は、表示指定情報８０１を指定したときの探索結果表示用ページ情報の画面例を示す説明図である。
【図１０】図１０は、探索装置２０３による探索処理手順例を示すフローチャートである。
【図１１】図１１は、設定リストの一例を示す説明図である。
【図１２】図１２は、ステップＳ１００７での更新後の設定リスト１１００の状態を示す説明図である。
【図１３】図１３は、送信元フォーム情報の一例を示す説明図（その１）である。
【図１４】図１４は、ステップＳ１０１１での更新後の設定リスト１１００の状態を示す説明図（その１）である。
【図１５】図１５は、図１０に示したＩＤ＝ｒｅｑのリクエストの送信元フォーム探索処理（ステップＳ１００８）の詳細な処理手順例を示すフローチャートである。
【図１６】図１６は、ステップＳ１５０４〜Ｓ１５０５での判断結果の一例を示す説明図（その１）である。
【図１７】図１７は、ステップＳ１５０７での判断結果の一例を示す説明図（その１）である。
【図１８】図１８は、図１０に示した決定処理（ステップＳ１０１２）の詳細な処理手順例を示すフローチャートである。
【図１９】図１９は、送信元フォームＦ１についての目的パラメータごとのステップＳ１８０３の判断結果の一例を示す説明図である。
【図２０】図２０は、送信元フォームＦ１についての目的パラメータごとのステップＳ１８０４、Ｓ１８０５の判断結果の一例を示す説明図である。
【図２１】図２１は、送信元フォームＦ１についての決定処理（ステップＳ１０１２）での結果格納用リストの記憶内容例を示す説明図である。
【図２２】図２２は、送信元フォームＦ１についての決定処理（ステップＳ１０１２）での設定リスト１１００の更新例を示す説明図である。
【図２３】図２３は、ステップＳ１０１１での更新後の設定リスト１１００の状態を示す説明図（その２）である。
【図２４】図２４は、ステップＳ１５０４〜Ｓ１５０５での判断結果の一例を示す説明図（その２）である。
【図２５】図２５は、ステップＳ１５０７での判断結果の一例を示す説明図（その２）である。
【図２６】図２６は、送信元フォーム情報の一例を示す説明図（その２）である。
【図２７】図２７は、ステップＳ１０１１での更新後の設定リスト１１００の状態を示す説明図（その３）である。
【図２８】図２８は、送信元フォームＦ０についての目的パラメータごとのステップＳ１８０３の判断結果の一例を示す説明図である。
【図２９】図２９は、送信元フォームＦ０についての決定処理（ステップＳ１０１２）での結果格納用リスト２１００の記憶内容例を示す説明図である。
【図３０】図３０は、図２９による送信元フォームＦ０についての決定処理（ステップＳ１０１２）の終了後の設定リスト１１００を示す説明図である。
【図３１】図３１は、目的リクエストＲ２から取得された目的パラメータおよびそのパラメータ値の組み合わせを記憶するテーブルを示す説明図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、この発明にかかる探索装置、探索方法、および探索プログラムの実施の形態を詳細に説明する。本実施の形態では、Ｗｅｂサーバで動作するＷｅｂアプリケーションの検査方法として、クライアントからのリクエストをＷｅｂサーバに渡し、その動作を調べる場合を例に挙げて説明する。
【００１１】
Ｗｅｂアプリケーションの検査を行う際、検査者が、リクエストに含まれる値の意味を知りたいことがある。この値の意味は、値が入力されたフォームからわかることがある。たとえば、リクエストの一部を書き換えて、検査に使用するための新たなリクエストを生成するような場合である。元のリクエストに含まれている「ｖａｌｕｅ＝５」という値が、「商品番号が５」や「数量が５」という意味であることがわかれば、Ｗｅｂアプリケーションが予期せぬ動作をしないかを調べるために「ｖａｌｕｅ＝あ」というリクエストを用いた検査を行う必要があると考えることができる。
【００１２】
値の意味の表現手段の一つとしては、Ｗｅｂアプリケーションの入力フォームが挙げられる。リクエストに含まれる値が、Ｗｅｂアプリケーションにおいてユーザが入力した値である場合、その入力フォームを示すことで意味を表現できる。たとえば、「ｖａｌｕｅ＝５」という値が、「商品番号」を入力するフォームで入力された値を意味しているということがわかれば、「ｖａｌｕｅ＝５」という値が、「商品番号が５」という意味であると解釈できる。以下、図を用いて説明する。
【００１３】
図１は、ネットショッピングに関するＷｅｂアプリケーションの画面遷移例を示す説明図である。図１において、画面１００〜１０２は、クライアントのブラウザで表示される画面である。画面１００は、ネットショッピングにおいて注文情報を入力する注文フォームを示している。具体的には、画面１００では、入力項目として、商品番号の入力欄１００ａと、商品の色を指定するプルダウン１００ｂと、関連商品情報を希望するか否かを示すチェックボックス１００ｃと、がある。これら入力項目に値を入力し、ボタン１００ｄを指定することで、画面１０１に遷移する。このとき、入力項目１００ａ〜１００ｃとなるパラメータのパラメータ値がリクエストＲ１としてＷｅｂサーバに送られる。
【００１４】
画面１０１は、ネットショッピングにおいてお客様情報を入力する注文フォームを示している。具体的には、画面１０１では、入力項目として、名前の入力欄１０１ａと、メールアドレスの入力欄１０１ｂと、がある。これら入力項目に値を入力し、ボタン１０１ｃを指定することで、画面１０２に遷移する。このとき、入力項目１００ａ〜１００ｃ，１０１ａ，１０１ｂとなるパラメータのパラメータ値がリクエストＲ２としてＷｅｂサーバに送られる。すなわち、リクエストＲ２には、画面１０１の入力項目１０１ａ，１０１ｂとなるパラメータのパラメータ値だけでなく、その前の画面１００の入力項目１００ａ〜１００ｃとなるパラメータのパラメータ値も含まれる。
【００１５】
このように、Ｗｅｂアプリケーションを検査する場合、リクエストＲ２を見ただけでは、どのパラメータのパラメータ値がどの入力フォームで入力されたかがわからない。本実施の形態では、リクエストＲ２のパラメータのフィールド種や時系列で先行するレスポンスからのパラメータ値の引継ぎ状態を特定することで、どのパラメータのパラメータ値がどの画面の入力フォームで入力されたかを特定する。
【００１６】
図１の例では、パラメータ「ｎａｍｅ」のパラメータ値「ｔａｎａｋａ」、パラメータ「ｍａｄｒｓ」のパラメータ値「ｔａｎａｋａ％４０ｅｘａｍｐｌｅ．ｃｏｍ」は、画面１０１の注文フォームで入力されたと特定できる。また、パラメータ「ｎｕｍ」のパラメータ値「５」、パラメータ「ｃｏｌ」のパラメータ値「１」（赤色を示す）、パラメータ「ｐｒｏｄｕｃｔＩｎｆｏ」のパラメータ値「ｙｅｓ」は、画面１００の注文フォームで入力されたと特定できる。
【００１７】
図２は、本実施の形態にかかる探索装置を有するシステムのシステム構成例を示す説明図である。図２において、システム２００には、要求側装置であるクライアント装置２０２と応答側装置であるＷｅｂサーバ２０１が、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワークＮＷを介して通信可能に接続されている。また、探索装置２０３もネットワークＮＷを介してＷｅｂサーバ２０１やクライアント装置２０２と通信可能に接続されている。
【００１８】
Ｗｅｂサーバ２０１は、たとえば、図１に示したようなネットショッピングなどのＷｅｂアプリケーションを実行する。クライアント装置２０２は、Ｗｅｂサーバ２０１にアクセスすることで、Ｗｅｂアプリケーションによるサービスの提供を受けることができる。クライアント装置２０２は、パーソナル・コンピュータ、携帯電話機、スマートフォン、タブレット端末などが挙げられる。
【００１９】
探索装置２０３は、ネットワークＮＷ上を流通するクライアント装置２０２からＷｅｂサーバ２０１へのリクエストやＷｅｂサーバ２０１からクライアント装置２０２へのレスポンスを取得する。探索装置２０３は、データベース（ＤＢ）２０４を有し、取得したリクエストと当該リクエストに対応するレスポンスとリクエストの送信先ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）とに共有のＩＤをつけてＤＢ２０４に格納する。探索装置２０３としては、たとえば、プロキシサーバが挙げられる。また、探索装置２０３は、Ｗｅｂサーバ２０１と一体型でもよい。
【００２０】
＜コンピュータのハードウェア構成例＞
図３は、コンピュータのハードウェア構成例を示すブロック図である。図３において、コンピュータ（Ｗｅｂサーバ２０１、クライアント装置２０２、探索装置２０３）は、プロセッサ３０１、記憶装置３０２、入力装置３０３、出力装置３０４、および通信装置３０５が、バス３０６に接続されて構成されている。
【００２１】
プロセッサ３０１は、コンピュータの全体の制御を司る。また、プロセッサ３０１は、記憶装置３０２に記憶されている各種プログラム（ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や本実施の形態で利用するプログラム）を実行することで、記憶装置３０２内のデータを読み出したり、実行結果となるデータを記憶装置３０２に書き込んだりする。記憶装置３０２は、探索装置２０３の場合は、本実施の形態で説明する探索プログラムを記憶し、Ｗｅｂサーバ２０１の場合は、Ｗｅｂアプリケーションを記憶し、クライアント装置２０２の場合は、ブラウザを記憶する。
【００２２】
記憶装置３０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリ、磁気ディスクドライブなどで構成され、プロセッサ３０１のワークエリアになったり、各種プログラムや各種データ（各プログラムの実行により得られたデータを含む）を記憶したりする。
【００２３】
入力装置３０３は、キーボード、マウス、タッチパネルなどユーザの操作により、各種データの入力をおこなうインターフェースである。出力装置３０４は、プロセッサ３０１の指示により、データを出力するインターフェースである。出力装置３０４には、ディスプレイやプリンタが挙げられる。通信装置３０５は、ネットワークＮＷを介して外部からデータを受信したり、外部にデータを送信したりするインターフェースである。
【００２４】
＜ＤＢ２０４の記憶内容＞
図４〜図６は、探索装置２０３のＤＢ２０４の記憶内容の一例を示す説明図である。図４〜図６では、Ｗｅｂサーバ２０１とクライアント装置２０２との間でやり取りされるリクエストの送信先ＵＲＬ、リクエスト、当該リクエストに対応するレスポンスを共通のＩＤでまとめて記憶している。なお、本実施の形態ではＩＤとなる番号は小さいほうが収集時刻が古いものとする。
【００２５】
図４では、図１に示した画面１００のＵＲＬ４００，画面１００を要求するリクエストＲ０、リクエストＲ０（内容を一部省略）に対応するレスポンスＳ０を示している。図５では、図１に示した画面１０１のＵＲＬ５００，画面１０１を要求するリクエストＲ１（内容を一部省略）、リクエストＲ１に対応するレスポンスＳ１を示している。図６では、図１に示した画面１０２のＵＲＬ６００，画面１０２を要求するリクエストＲ２（内容を一部省略）、リクエストＲ２に対応するレスポンスＳ２を示している。
【００２６】
＜探索装置２０３の機能的構成例＞
図７は、探索装置２０３の機能的構成例を示すブロック図である。探索装置２０３は、記憶部７００と、設定部７０１と、探索部７０２と、更新部７０３と、決定部７０４と、出力部７０５と、生成部７０６と、を備えている。記憶部７００は、具体的には、たとえば、図３に示した記憶装置３０２によりその機能を実現する。また、制御部となる機能（設定部７０１〜生成部７０６）は、具体的には、たとえば、図３に示した記憶装置３０２に記憶されたプログラムをプロセッサに実行させることにより、その機能を実現する。また、設定部７０１〜生成部７０６での処理結果は記憶装置３０２に記憶され、設定部７０１〜生成部７０６での処理は、記憶装置３０２に記憶された処理結果を用いて実行される。
【００２７】
記憶部７００は、各種情報、たとえば、要求側装置からの一連のリクエストと当該一連のリクエストの各々のリクエストに対応する応答側装置からの一連のレスポンスとを記憶する。ここで、要求側装置とは、応答側装置からレスポンスを要求するコンピュータであり、具体的には、たとえば、図２に示したクライアント装置２０２が該当する。応答側装置とは、要求側装置からのリクエストに応じたレスポンスを返すコンピュータであり、具体的には、たとえば、図２に示したＷｅｂサーバ２０１が該当する。
【００２８】
また、記憶部７００が、図２に示したＤＢ２０４である場合、一連のリクエストとは、具体的には、たとえば、図４〜図６に示すリクエストＲ０，Ｒ１，Ｒ２が該当する。同様に、一連のレスポンスとは、具体的には、たとえば、図４〜図６に示すレスポンスＳ０，Ｓ１，Ｓ２が該当する。
【００２９】
設定部７０１は、記憶部７００に記憶されている一連のリクエストのうち先頭リクエスト以外のリクエスト群から選ばれた目的リクエストを注目リクエストに設定する。先頭リクエストとは、一連のリクエストのうち時系列で最も古いリクエストである。図４〜図６に示すリクエストＲ０，Ｒ１，Ｒ２では、リクエストＲ０が先頭リクエストとなる。目的リクエストとは、パラメータの入力フォームを特定しようとしているリクエストである。一連のリクエストのうち先頭リクエスト以外であればどのリクエストでもよい。図４〜図６に示すリクエストＲ０，Ｒ１，Ｒ２では、リクエストＲ１，Ｒ２のいずれでもよい。
【００３０】
また、どのリクエストを目的リクエストにするかは、利用者が入力装置を操作して設定してもよく、また、自動的に設定してもよい。自動的に設定する場合は、たとえば、一連のリクエストのうち末尾のリクエスト、すなわち、時系列で最新のリクエストを目的リクエストとすることができる。また、注目リクエストとは、探索部７０２で用いられるリクエストである。初期状態では、目的リクエストが選ばれる。このように設定される情報を、目的リクエストの指定情報とよぶ。たとえば、ＩＤ＝２を目的リクエストの指定情報とすることで、リクエストＲ２が目的リクエストとなる。
【００３１】
探索部７０２は、注目リクエストに含まれているパラメータに一致するｎａｍｅ属性の値を有する送信元フォームが探索されるまで、設定部７０１によって設定された注目リクエストに対応するレスポンスから時系列で先行する先行レスポンスを記憶部７００から順次選択する。
【００３２】
探索部７０２は、具体的には、たとえば、注目リクエストに対応するレスポンスから時系列順にさかのぼって先行レスポンスを順次選択する。たとえば、注目リクエストがＲ２である場合、注目リクエストに対応するレスポンスはＳ２である。したがって、Ｓ２から時系列順にさかのぼって先行レスポンスＳ１，Ｓ０を順次選択する。そして、探索部７０２は、先行レスポンスが選択される都度、先行レスポンスの中から、注目リクエストに含まれているパラメータに一致するｎａｍｅ属性の値を有する送信元フォームを探索する。
【００３３】
ここで、探索される送信元フォームの条件として、注目リクエストに含まれているパラメータに一致するｎａｍｅ属性の値を有する必要がある。具体的には、たとえば、注目リクエストに含まれている各パラメータが、先行レスポンスに含まれているフォームの中のＩＮＰＵＴタグ、ＳＥＬＥＣＴタグ、ＴＥＸＴＡＲＥＡタグのいずれかのｎａｍｅ属性と一致する場合は、先行レスポンスに含まれているフォームは、注目リクエストの送信元フォームとなる。
【００３４】
探索部７０２は、たとえば、注目リクエストがＲ２である場合、先行レスポンスがＳ１のときに、Ｓ１のフォームタグではさまれているフォームＦ１を調べることになる（図５および図６を参照。）。この場合、レスポンスＳ１のフォームＦ１には、ｎａｍｅ属性の値として「ｎａｍｅ」と「ｍａｄｒｓ」がある。一方、注目リクエストＲ２には、「ｎａｍｅ＝ｔａｎａｋａ」，「ｍａｄｒｓ＝ｔａｎａｋａ％４０ｅｘａｍｐｌｅ．ｃｏｍ」がある。
【００３５】
このように、レスポンスＳ１のフォームＦ１内のｎａｍｅ属性と一致するｎａｍｅ属性の値（「ｎａｍｅ」と「ｍａｄｒｓ」）が、リクエストＲ２に存在する。したがって、Ｗｅｂサーバ２０１からクライアント装置２０２に送られたレスポンスＳ１のフォームＦ１にｎａｍｅ属性の値（「ｎａｍｅ」と「ｍａｄｒｓ」）が入力されて、リクエストＲ２が、クライアント装置２０２からＷｅｂサーバ２０１に送られたことがわかる。すなわち、レスポンスＳ１のフォームＦ１が、リクエストＲ２の送信元フォームとなる。
【００３６】
また、先行レスポンスのフォーム内にｈｉｄｄｅｎフィールドであるＩＮＰＵＴタグのｎａｍｅ属性の値がある場合、注目リクエストに含まれるパラメータのうち、ｈｉｄｄｅｎフィールドであるＩＮＰＵＴタグのｎａｍｅ属性の値と一致したパラメータについては、そのパラメータ値と、ｎａｍｅ属性の値が一致したＩＮＰＵＴタグのｖａｌｕｅ属性の値が、一致する必要がある。ｈｉｄｄｅｎフィールドがある場合は、ｖａｌｕｅ属性の値との一致をみることで、より古い先行レスポンスから引き継がれてきたか否かを特定することができる。
【００３７】
たとえば、注目リクエストがＲ２の場合、リクエストＲ２に含まれるパラメータ｛ｎａｍｅ，ｍａｄｒｓ，ｎｕｍ，ｃｏｌ，ｐｒｏｄｕｃｔＩｎｆｏ｝のうち、パラメータ｛ｎｕｍ，ｃｏｌ，ｐｒｏｄｕｃｔＩｎｆｏ｝は、先行レスポンスＳ１のフォームＦ１において、ｈｉｄｄｅｎフィールドであるＩＮＰＵＴタグのｎａｍｅ属性の値と一致する。したがって、一致したパラメータ｛ｎｕｍ，ｃｏｌ，ｐｒｏｄｕｃｔＩｎｆｏ｝については、リクエストＲ２のパラメータ値｛５，１，Ｙｅｓ｝とフォームＦ１のｖａｌｕｅ属性の値｛５，１，Ｙｅｓ｝とが一致する。したがって、レスポンスＳ１のフォームＦ１のＩＮＰＵＴタグのｎａｍｅ属性の値がリクエストＲ２に引き継がれたことがわかる。
【００３８】
また、先行レスポンスと注目リクエストとの関連性を保証するため、探索部７０２は、先行レスポンスの中から、注目リクエストのＵＲＬと一致する送信元フォームを探索することとしてもよい。たとえば、先行レスポンスをＳ１、注目リクエストをＲ２とすると、ＩＤ＝１での送信先ＵＲＬ「ｈｔｔｐ:／／ｅｘａｍｐｌｅ．ｃｏｍ／ｓｈｏｐ／ｏｒｄｅｒ２」とレスポンスＳ１のフォームＦ１内のａｃｔｉｏｎ属性であるＵＲＩ「／ｏｒｄｅｒ３」から、フォームＦ１の送信先ＵＲＬを求めることができる。この場合、フォームＦ１の送信先ＵＲＬは、「ｈｔｔｐ:／／ｅｘａｍｐｌｅ．ｃｏｍ／ｓｈｏｐ／ｏｒｄｅｒ３」となる。
【００３９】
これに対し、リクエストＲ２の送信先ＵＲＬは、図６に示したように、「ｈｔｔｐ:／／ｅｘａｍｐｌｅ．ｃｏｍ／ｓｈｏｐ／ｏｒｄｅｒ３」であり、フォームＦ１の送信先ＵＲＬと一致する。したがって、レスポンスＳ１のフォームＦ１がリクエストＲ２として「ｈｔｔｐ:／／ｅｘａｍｐｌｅ．ｃｏｍ／ｓｈｏｐ／ｏｒｄｅｒ３」に送信されたことが判明する。このように、注目リクエストのＵＲＬとの一致をみることで、探索精度の向上を図ることができる。
【００４０】
また、先行レスポンスと注目リクエストとの関連性を保証するため、探索部７０２は、先行レスポンスのｍｅｔｈｏｄ属性と注目リクエストのｍｅｔｈｏｄ属性とが一致する場合、先行レスポンスの中から、送信元フォームを探索することとしてもよい。たとえば、先行レスポンスをＳ１、注目リクエストをＲ２とすると、レスポンスＳ１のフォームＦ１のｍｅｔｈｏｄ属性は「ｐｏｓｔ」であり、リクエストＲ２のｍｅｔｈｏｄ属性も「ＰＯＳＴ」である。このように、ｍｅｔｈｏｄ属性が一致するため、ｍｅｔｈｏｄ属性「ｐｏｓｔ」のフォームＦ１から送信されるリクエストは、ｍｅｔｈｏｄ属性「ＰＯＳＴ」のリクエストＲ２であることが保証される。
【００４１】
また、探索部７０２では、先行レスポンスごとに、先行レスポンスのレスポンスボディを評価するＸＰａｔｈ式「／ｄｅｓｃｅｎｄａｎｔ::ＦＯＲＭ［ｉ］」のイタレーションｉを、ｉ＝１，２，３，…と増やしながら先行レスポンス中からフォームを取得し、送信元フォームであるかを調べる。これにより、先行レスポンス内に存在するフォームの各々について送信元フォームであるかを調べることができる。なお、送信元フォームに該当するフォームが複数存在しうることもあるが、このような場合を想定して、一例としてイタレーションｉが最小のフォームを送信元フォームにする。これにより、最初に送信元フォームが探索された時点で探索を止めることができ、探索処理の高速化を実現することができる。
【００４２】
更新部７０３は、注目リクエストを、探索部７０２によって送信元フォームが探索されたときの先行レスポンスに対応するリクエストに更新する。たとえば、注目リクエストがＲｎ（ｎ＞１）で送信元フォームが探索されたときの先行レスポンスがＳｍ（ｍ＜ｎ）である場合、注目リクエストは、ＲｎからＲｍに更新される。このように、注目リクエストを時系列でさかのぼらせる操作をすることで、目的リクエスト内のパラメータ（目的パラメータ）ごとに入力フォームを含むレスポンスが異なっていても、最古のレスポンスにまでさかのぼって追跡することができる。
【００４３】
決定部７０４は、探索部７０２によって探索された送信元フォーム内の目的リクエストに含まれている目的パラメータが、ｈｉｄｄｅｎフィールドでないパラメータである場合、送信元フォームを目的パラメータの入力フォームに決定する。たとえば、目的リクエストに含まれている目的パラメータは｛ｎａｍｅ，ｍａｄｒｓ，ｎｕｍ，ｃｏｌ，ｐｒｏｄｕｃｔＩｎｆｏ｝である。
【００４４】
探索された送信元フォームがレスポンスＳ１のフォームＦ１である場合、フォームＦ１には、目的パラメータ｛ｎａｍｅ，ｍａｄｒｓ，ｎｕｍ，ｃｏｌ，ｐｒｏｄｕｃｔＩｎｆｏ｝が含まれている。このうち、ｈｉｄｄｅｎフィールドでない目的パラメータは｛ｎａｍｅ，ｍａｄｒｓ｝である。したがって、決定部７０４は、フォームＦ１を、目的パラメータ｛ｎａｍｅ，ｍａｄｒｓ｝の入力フォームに決定する。この場合、ｈｉｄｄｅｎフィールドである目的パラメータ｛ｎｕｍ，ｃｏｌ，ｐｒｏｄｕｃｔＩｎｆｏ｝の入力フォームはこの時点では決定されない。
【００４５】
また、決定部７０４は、送信元フォーム内のｈｉｄｄｅｎフィールドである目的パラメータについて、目的リクエストでのパラメータ値と更新部７０３による更新後の注目リクエストでのパラメータ値とが不一致である場合、送信元フォームを、ｈｉｄｄｅｎフィールドである目的パラメータの入力フォームに決定する。
【００４６】
たとえば、注目リクエストがＲ２のときに探索された送信元フォームがレスポンスＳ１のフォームＦ１である場合、ｈｉｄｄｅｎフィールドである目的パラメータ｛ｎｕｍ，ｃｏｌ，ｐｒｏｄｕｃｔＩｎｆｏ｝のパラメータ値は｛５，１，Ｙｅｓ｝である。また、更新部７０３により、注目リクエストはＲ２から、フォームＦ１が探索されたときのレスポンスＳ１に対応するリクエストＲ１に更新される。
【００４７】
このとき、更新後の注目リクエストであるＲ１での目的パラメータ｛ｎｕｍ，ｃｏｌ，ｐｒｏｄｕｃｔＩｎｆｏ｝のパラメータ値は｛５，１，Ｙｅｓ｝である。すなわち、ｈｉｄｄｅｎフィールドである目的パラメータ｛ｎｕｍ，ｃｏｌ，ｐｒｏｄｕｃｔＩｎｆｏ｝のパラメータ値と一致するため、目的パラメータ｛ｎｕｍ，ｃｏｌ，ｐｒｏｄｕｃｔＩｎｆｏ｝のパラメータ値が引き継がれていることがわかる。したがって、この場合は、送信元フォームは、ｈｉｄｄｅｎフィールドである目的パラメータの入力フォームにはならない。
【００４８】
この場合は、更新後の注目リクエストを基準にして、探索部７０２により送信元フォームの探索をおこなうことになる。これにより、時系列順にさかのぼって、ｈｉｄｄｅｎフィールドである目的パラメータの入力フォームを追跡することができる。
【００４９】
仮に、不一致である場合は、目的パラメータ｛ｎｕｍ，ｃｏｌ，ｐｒｏｄｕｃｔＩｎｆｏ｝のパラメータ値が引き継がれていないことになるため、入力フォームで入力したことになる。したがって、送信元フォームＦ１を、ｈｉｄｄｅｎフィールドである目的パラメータ｛ｎｕｍ，ｃｏｌ，ｐｒｏｄｕｃｔＩｎｆｏ｝の入力フォームに決定することになる。
【００５０】
出力部７０５は、決定部７０４によって決定された決定結果を出力する。具体的には、たとえば、ディスプレイに表示したり、プリンタにより印刷出力したり、外部装置に送信したりする。また、探索装置２０３の記憶装置３０２に格納することとしてもよい。
【００５１】
出力部７０５は、目的パラメータおよび目的パラメータのパラメータ値ごとに、決定部７０４によって決定された目的パラメータの入力フォームを関連付けて出力する。このように対応付けて出力することで、リクエストに含まれているパラメータ値が、何の値として入力されたのかが理解しやすくなり、パラメータの意味を直感的に理解しやすくなる。
【００５２】
生成部７０６は、目的パラメータおよび目的パラメータのパラメータ値ごとに、決定部７０４によって決定された目的パラメータの入力フォームを表示するＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ページの指定を受け付け可能な表示指定情報を含むインデックスページ情報を生成する。また、生成部７０６は、表示指定情報で指定される探索結果表示用ページ情報を生成する。出力部７０５は、生成されたページ情報を出力することになる。
【００５３】
図８は、インデックスページ情報の画面例を示す説明図である。図８において、画面８００は、「Ｃ：\ｉｎｄｅｘ．ｈｔｍｌ」にＨＴＭＬファイルとして保存されたインデックスページ情報をブラウザで表示させたときの画面である。画面８００には、目的パラメータとその目的パラメータのパラメータ値ごとに、入力フォームのリンク先ＵＲＬが埋め込まれている表示指定情報８０１〜８０５が表示されている。たとえば、利用者がマウスなどの入力装置で表示指定情報８０１を指定すると、目的パラメータ「ｎａｍｅ」のパラメータ値「ｔａｎａｋａ」の入力フォームの画面を表示する。
【００５４】
図９は、表示指定情報８０１を指定したときの探索結果表示用ページ情報の画面例を示す説明図である。図９で示している探索結果表示用ページ情報９００は、「Ｃ：\１．ｈｔｍｌ」にＨＴＭＬファイルとして保存されている。図９において、パラメータ「ｎａｍｅ」のパラメータ値「ｔａｎａｋａ」が入力される入力欄９０１ａが、強調表示されている。リクエストに含まれているパラメータ値が、何の値として入力されたのかが理解しやすくなり、パラメータの意味を直感的に理解しやすくなる。
【００５５】
＜探索装置２０３による探索処理手順例＞
図１０は、探索装置２０３による探索処理手順例を示すフローチャートである。まず、探索装置２０３は、設定部７０１により、目的リクエストの指定情報を待ち受ける（ステップＳ１００１：Ｎｏ）。つぎに、目的リクエストの指定情報がある場合（ステップＳ１００１：Ｙｅｓ）、探索装置２０３は、設定部７０１により、設定リストに、注目リクエストの指定変数を設定する（ステップＳ１００２）。ここでは、例としてＩＤ＝２の目的リクエストの指定情報が与えられたものとする。
【００５６】
図１１は、設定リストの一例を示す説明図である。図１１の設定リスト１１００において、注目リクエストの指定変数ｒｅｑは、注目リクエストの指定変数である。初期状態では、目的リクエストの指定情報が設定される。たとえば、上記の例では、ｒｅｑ＝２となる。
【００５７】
また、図１０において、探索装置２０３は、設定部７０１により、探索変数ｔを設定する（ステップＳ１００３）。探索変数ｔとは、上述した先行レスポンスを指定する変数である。すなわち、どのレスポンスまで探索したかを示す変数である。初期状態では、目的リクエストの指定情報が設定される。たとえば、上記の例では、図１１に示したように、ｔ＝２となる。リクエストとこれに対応するレスポンスの共通ＩＤの最小値はＩＤ＝０であるため、ｒｅｑおよびｔの最小値も０である。
【００５８】
また、探索装置２０３は、設定部７０１により、パラメータリスト（以下、「ｐＬｉｓｔ」）を設定する。ｐＬｉｓｔには、入力フォームが見つかっていない目的パラメータ、すなわち、注目リクエスト内の全パラメータが設定される。上記の例では、ｒｅｑ＝２であるため、図１１に示したように、注目リクエストＲ２内の全パラメータ｛ｎａｍｅ，ｍａｄｒｓ，ｎｕｍ，ｃｏｌ，ｐｒｏｄｕｃｔＩｎｆｏ｝がｐＬｉｓｔに設定される。なお、目的パラメータは、リクエストのｍｅｔｈｏｄ属性がＰＯＳＴである場合は、リクエストボディをパースすることで取得することができる。また、リクエストのｍｅｔｈｏｄ属性がＧＥＴである場合は、リクエスト行のクエリストリングから取得することができる。
【００５９】
つぎに、探索装置２０３は、探索部７０２により、ｐＬｉｓｔが空であるか否かを判断する（ステップＳ１００５）。ｐＬｉｓｔ内のパラメータは、入力フォームが見つかると削除されるため、ｐＬｉｓｔが空になると（ステップＳ１００５：Ｙｅｓ）、探索が終了して出力処理に移行する（ステップＳ１０１３）。
【００６０】
ｐＬｉｓｔが空でない場合（ステップＳ１００５：Ｎｏ）、入力フォームが見つかっていない目的パラメータがあるため、探索変数ｔがｔ≧１であるか否かを判断する（ステップＳ１００６）。ｔ≧１でない場合（ステップＳ１００６：Ｎｏ）とは、これ以上先行レスポンスにさかのぼることができないことを意味する。したがって、探索が終了して出力処理に移行する（ステップＳ１０１３）。
【００６１】
一方、ｔ≧１である場合（ステップＳ１００６：Ｙｅｓ）、まだ時系列順にさかのぼって先行レスポンスを指定することができるため、探索装置２０３は、探索部７０２により、探索変数ｔをデクリメントする（ステップＳ１００７）。
【００６２】
図１２は、ステップＳ１００７での更新後の設定リスト１１００の状態を示す説明図である。図１１では、ｔ＝２であったため、ステップＳ１００７でのデクリメントによりｔ＝１に更新される。そして、図１０に戻り、探索装置２０３は、探索部７０２により、ＩＤ＝ｒｅｑのリクエストの送信元フォーム探索処理を実行する（ステップＳ１００８）。上記の例の場合、ｒｅｑ＝２であり、ｔ＝１であるため、リクエストＲ２の送信元フォームを、先行レスポンスＳ１から探索することになる。ＩＤ＝ｒｅｑのリクエストの送信元フォーム探索処理（ステップＳ１００８）の詳細については図１５で後述する。
【００６３】
探索装置２０３は、探索部７０２により、ＩＤ＝ｒｅｑのリクエストの送信元フォーム探索処理（ステップＳ１００８）において、条件を満たした送信元フォームがあったか否かを判断する（ステップＳ１００９）。見つからなかった場合（ステップＳ１００９：Ｎｏ）、ステップＳ１００６に戻り、ｔをデクリメントする（ステップＳ１００７）。このように、送信元フォームが見つかるまで、ｔをデクリメントして繰り返すことになる。上記の場合、ｔ＝０になるため、リクエストＲ２の送信元フォームを、先行レスポンスＳ０から探索することになる。先行レスポンスＳ０から見つからなかった場合は、これ以上先行レスポンスが存在しないため、出力処理（ステップＳ１０１３）に移行することになる。
【００６４】
また、ステップＳ１００９において、条件を満たした送信元フォームが見つかった場合（ステップＳ１００９：Ｙｅｓ）、探索装置２０３は、探索部７０２により、見つかった送信元フォームの送信元フォーム情報を記憶装置３０２に保存する（ステップＳ１０１０）。送信元フォーム情報とは、送信元フォームがどこにあるかを特定する情報である。
【００６５】
図１３は、送信元フォーム情報の一例を示す説明図（その１）である。送信元フォーム情報は、その送信元フォームを含むレスポンスのＩＤ（レスポンスＩＤ）と、当該レスポンス中のフォーム位置で特定される。レスポンスＩＤとは、探索されたときの探索変数ｔで指定される先行レスポンスである。また、フォーム位置は、たとえば、ＸＰａｔｈ式で特定される。図１３では、送信元フォームが、先行レスポンスＳ１内のフォームＦ１であることを示している。
【００６６】
また、図１０に戻り、探索装置２０３は、更新部７０３により、ｒｅｑをｒｅｑ＝ｔに更新する（ステップＳ１０１１）。このように、送信元フォームの送信先である注目リクエストを、ある目的パラメータについて入力フォームが見つかった先行レスポンスに対応するリクエストにまで時系列でさかのぼることで、入力フォームが見つかっていない目的パラメータについて、また選ばれていないＩＤ＝ｔ未満のレスポンスを対象にして追跡することができる。
【００６７】
図１４は、ステップＳ１０１１での更新後の設定リスト１１００の状態を示す説明図（その１）である。上記の例では、先行レスポンスＳ１（ｔ＝１）で入力フォームが見つかったため、ｒｅｑ＝ｔ＝１に更新される。また、図１０に戻り、探索装置２０３は、ステップＳ１０１１のあと、決定部７０４により、決定処理を実行する（ステップＳ１０１２）。決定処理（ステップＳ１０１２）では、ｐＬｉｓｔ内の目的パラメータごとに、ステップＳ１００８で見つかった送信元フォームを目的パラメータの入力フォームに決定したり決定をしなかったりする処理を実行する。入力フォームが決定した目的パラメータについては、ｐＬｉｓｔから削除される。決定処理（ステップＳ１０１２）の詳細については図１８で後述する。決定処理（ステップＳ１０１２）のあと、ステップＳ１００５に戻り、探索装置２０３は、ｐＬｉｓｔが空か否かを判断することになる。
【００６８】
なお、決定処理（ステップＳ１０１２）のあと、ステップＳ１００４に戻す（図１０中、点線矢印のループ）ことで、ステップＳ１０１１での更新前の注目リクエストにはないが更新後の注目リクエストに存在するパラメータを、ｐＬｉｓｔに追加設定することができる。これにより、ある時点で存在しなくなったパラメータについても、時系列でさかのぼって入力フォームを追跡することができる。
【００６９】
また、ステップＳ１０１３では、探索装置２０３は、出力部７０５により出力処理を実行する（ステップＳ１０１３）。出力処理では、目的パラメータごとに、目的パラメータとそのパラメータ値と入力フォームとの組み合わせが出力される。また、探索装置２０３は、生成部７０６により表示指定情報を生成して出力（画面表示）することとしてもよい。なお、入力フォームが見つからなかった目的パラメータについては、たとえば、「該当フォームなし」として出力することになる。これにより、探索装置２０３による一連の探索処理を終了する。
【００７０】
このように、図１０に示した探索処理では、リクエストに含まれるパラメータ値がユーザの入力値である場合について、その入力フォームがリクエスト送信元レスポンスよりも過去のレスポンスに含まれていても、入力フォームを特定することができる。これにより、リクエストに含まれているパラメータ値が、何の値として入力されたのかが理解しやすくなり、パラメータの意味を直感的に理解しやすくなるという効果を奏する。
【００７１】
＜ＩＤ＝ｒｅｑのリクエストの送信元フォーム探索処理（ステップＳ１００８）＞
図１５は、図１０に示したＩＤ＝ｒｅｑのリクエストの送信元フォーム探索処理（ステップＳ１００８）の詳細な処理手順例を示すフローチャートである。まず、探索装置２０３は、探索部７０２により、ＸＰａｔｈ式で用いるイタレーションｉをｉ＝１に設定する（ステップＳ１５０１）。つぎに、探索装置２０３は、探索部７０２により、ＸＰａｔｈ式でＩＤ＝ｔ（デクリメント後の値）である先行レスポンスＳｔから送信元フォームＦｉを探索する（ステップＳ１５０２）。上記の例では、ｔ＝１であるため、レスポンスＳ１について探索がおこなわれることになる。
【００７２】
送信元フォームＦｉがない場合（ステップＳ１５０３：Ｎｏ）、この先行レスポンスＳｔにはフォームがないため、図１０のステップＳ１００９に移行する。一方、送信元フォームＦｉがある場合（ステップＳ１５０３：Ｙｅｓ）、探索装置２０３は、探索部７０２により、ＩＤ＝ｒｅｑのリクエストとＩＤ＝ｔのレスポンスＳｔとのｍｅｔｈｏｄ属性が一致するか否かを判断する（ステップＳ１５０４）。一致する場合は（ステップＳ１５０４：Ｙｅｓ）、ステップＳ１５０５に移行し、不一致の場合は（ステップＳ１５０４：Ｎｏ）、ステップＳ１５０８に移行する。
【００７３】
上記の例の場合、先行レスポンスがＳ１、注目リクエストがＲ２であるため、レスポンスＳ１のフォームＦ１のｍｅｔｈｏｄ属性は「ｐｏｓｔ」であり、リクエストＲ２のｍｅｔｈｏｄ属性も「ＰＯＳＴ」である。したがって、ｍｅｔｈｏｄ属性が一致するため、ｍｅｔｈｏｄ属性「ｐｏｓｔ」のフォームＦ１から送信されるリクエストは、ｍｅｔｈｏｄ属性「ＰＯＳＴ」のリクエストＲ２であることが保証される。
【００７４】
また、ステップＳ１５０５において、探索装置２０３は、探索部７０２により、ＩＤ＝ｒｅｑのリクエスト内のパラメータが送信元フォームＦｉ内のｎａｍｅ属性の値と一致するか否かを判断する（ステップＳ１５０５）。一致する場合は（ステップＳ１５０５：Ｙｅｓ）、ステップＳ１５０６に移行し、不一致の場合は（ステップＳ１５０５：Ｎｏ）、ステップＳ１５０８に移行する。
【００７５】
上記の例の場合、先行レスポンスがＳ１、注目リクエストがＲ２である。そして、先行レスポンスＳ１のフォームＦ１には、ｎａｍｅ属性のパラメータとして「ｎａｍｅ」と「ｍａｄｒｓ」がある。一方、注目リクエストＲ２には、「ｎａｍｅ＝ｔａｎａｋａ」，「ｍａｄｒｓ＝ｔａｎａｋａ％４０ｅｘａｍｐｌｅ．ｃｏｍ」がある。
【００７６】
このように、レスポンスＳ１のフォームＦ１内のｎａｍｅ属性と一致するｎａｍｅ属性の値（「ｎａｍｅ」と「ｍａｄｒｓ」）が、リクエストＲ２に存在する。したがって、Ｗｅｂサーバ２０１からクライアント装置２０２に送られたレスポンスＳ１のフォームＦ１にｎａｍｅ属性の値（「ｎａｍｅ」と「ｍａｄｒｓ」）が入力されて、リクエストＲ２が、クライアント装置２０２からＷｅｂサーバ２０１に送られたことがわかる。
【００７７】
図１６は、ステップＳ１５０４〜Ｓ１５０５での判断結果の一例を示す説明図（その１）である。また、ステップＳ１５０６において、探索装置２０３は、探索部７０２により、送信元フォームＦｉの送信先ＵＲＬを特定する（ステップＳ１５０６）。上記の例の場合、先行レスポンスがＳ１、注目リクエストがＲ２であるため、ＩＤ＝１での送信先ＵＲＬ「ｈｔｔｐ:／／ｅｘａｍｐｌｅ．ｃｏｍ／ｓｈｏｐ／ｏｒｄｅｒ２」とレスポンスＳ１のフォームＦ１内のａｃｔｉｏｎ属性であるＵＲＩ「／ｏｒｄｅｒ３」から、フォームＦ１の送信先ＵＲＬを求めることができる。この場合、フォームＦ１の送信先ＵＲＬは、「ｈｔｔｐ:／／ｅｘａｍｐｌｅ．ｃｏｍ／ｓｈｏｐ／ｏｒｄｅｒ３」となる。
【００７８】
図１７は、ステップＳ１５０７での判断結果の一例を示す説明図（その１）である。そして、探索装置２０３は、探索部７０２により、ステップＳ１５０６で特定されたＵＲＬとＩＤ＝ｒｅｑのＵＲＬとが一致するか否かを判断する（ステップＳ１５０７）。不一致の場合は（ステップＳ１５０７：Ｎｏ）、ステップＳ１５０８に移行する。ステップＳ１５０８ではイタレーションｉをインクリメントして（ステップＳ１５０８）、ステップＳ１５０２に戻る。これにより、送信元フォームＦｉを探索し続けることができる。
【００７９】
一方、一致した場合（ステップＳ１５０７：Ｙｅｓ）、条件を満足する送信元フォームＦｉが探索されたこととなり、ステップＳ１００９に移行する。上記の例では、フォームＦ１の送信先ＵＲＬは、「ｈｔｔｐ:／／ｅｘａｍｐｌｅ．ｃｏｍ／ｓｈｏｐ／ｏｒｄｅｒ３」であり、ＩＤ＝ｒｅｑ＝２のＵＲＬも「ｈｔｔｐ:／／ｅｘａｍｐｌｅ．ｃｏｍ／ｓｈｏｐ／ｏｒｄｅｒ３」（図６を参照）であるため、一致することになる。ステップＳ１００９では、ステップＳ１５０３：Ｎｏの場合は、条件を満たしたフォームがないと判断し、それ以外、たとえば、ステップＳ１５０７：Ｙｅｓの場合は、条件を満たしたフォームがあると判断することになる。
【００８０】
なお、ステップＳ１５０４〜Ｓ１５０７での条件判断において、ステップＳ１５０４〜Ｓ１５０７をすべて実行することが好ましいが、少なくともステップＳ１５０５を実行することとしてもよい。ステップＳ１５０４、Ｓ１５０６、Ｓ１５０７については、精度と高速化とを考慮して実行するかしないかを設定すればよい。たとえば、ＩＤの最大値が規定値以上である場合は、高速化が必要となるため、ステップＳ１５０５だけ実行することとしてもよい。
【００８１】
このように、ＩＤ＝ｒｅｑのリクエストの送信元フォーム探索処理（ステップＳ１００８）によれば、ＩＤ＝ｒｅｑである注目リクエストの送信元フォームが探索される。したがって、探索された送信元フォーム内のパラメータのパラメータ値が送信元フォームで入力されて注目リクエストとして送信されたか、それ以前から送信元フォームに埋め込まれていたパラメータ値であるかを、決定処理（ステップＳ１０１２）において確認することができる。
【００８２】
＜決定処理（ステップＳ１０１２）＞
図１８は、図１０に示した決定処理（ステップＳ１０１２）の詳細な処理手順例を示すフローチャートである。まず、探索装置２０３は、決定部７０４により、今回探索された送信元フォームについて、未選択の目的パラメータがあるか否かを判断する（ステップＳ１８０１）。未選択の目的パラメータがない場合（ステップＳ１８０１：Ｎｏ）、ステップＳ１００５に移行する。一方、未選択の目的パラメータがある場合（ステップＳ１８０１：Ｙｅｓ）、探索装置２０３は、決定部７０４により、未選択の目的パラメータから１つ選択する（ステップＳ１６０２）。
【００８３】
そして、探索装置２０３は、決定部７０４により、選択された目的パラメータがｈｉｄｄｅｎフィールドのパラメータであるか否かを判断する（ステップＳ１８０３）。ｈｉｄｄｅｎフィールドのパラメータである場合は（ステップＳ１８０３：Ｙｅｓ）、ステップＳ１８０４に移行する。一方、ｈｉｄｄｅｎフィールドのパラメータでない場合は（ステップＳ１８０３：Ｎｏ）、ステップＳ１８０６に移行する。すなわち、ｈｉｄｄｅｎフィールドのパラメータでなければ、選択された目的パラメータの入力フォームは、今回探索された送信元フォームに決定されることになる。
【００８４】
図１９は、送信元フォームＦ１についての目的パラメータごとのステップＳ１８０３の判断結果の一例を示す説明図である。また、図１８のステップＳ１８０４において、探索装置２０３は、決定部７０４により、選択された目的パラメータがＩＤ＝ｒｅｑ（ステップＳ１０１１での更新後のｒｅｑ）のリクエストに存在するか否かを判断する（ステップＳ１８０４）。存在する場合は（ステップＳ１８０４：Ｙｅｓ）、ステップＳ１８０５に移行する。一方、存在しない場合は（ステップＳ１８０４：Ｎｏ）、ステップＳ１８０６に移行する。
【００８５】
すなわち、選択された目的パラメータがｈｉｄｄｅｎフィールドのパラメータであっても、ＩＤ＝ｒｅｑ（ステップＳ１０１１での更新後のｒｅｑ）のリクエストに存在しなければ、パラメータ値の引継ぎがされていない別のパラメータであることがわかる。したがって、選択された目的パラメータの入力フォームは、今回探索された送信元フォームに決定されることになる。
【００８６】
また、ステップＳ１８０５において、探索装置２０３は、決定部７０４により、選択された目的パラメータのパラメータ値と、ＩＤ＝ｒｅｑのリクエスト内の同一パラメータのパラメータ値が一致するか否かを判断する（ステップＳ１８０５）。一致する場合は（ステップＳ１８０５：Ｙｅｓ）、ステップＳ１８０１に戻る。一方、不一致の場合は（ステップＳ１８０５：Ｎｏ）、ステップＳ１８０６に移行する。
【００８７】
すなわち、パラメータ値が不一致であれば、パラメータ値の引継ぎがされておらず、別途パラメータ値が入力された同一パラメータであることがわかる。したがって、選択された目的パラメータの入力フォームは、今回探索された送信元フォームに決定されることになる。パラメータ値が一致した場合は、選択された目的パラメータは、そのまま引き継がれたパラメータであることとなるため、今回の送信元フォームは入力フォームにならない。
【００８８】
図２０は、送信元フォームＦ１についての目的パラメータごとのステップＳ１８０４、Ｓ１８０５の判断結果の一例を示す説明図である。図１８に戻り、探索装置２０３は、決定部７０４により、選択された目的パラメータと送信元フォーム情報を、記憶装置３０２内の結果格納用リストに追加する（ステップＳ１８０６）。
【００８９】
図２１は、送信元フォームＦ１についての決定処理（ステップＳ１０１２）での結果格納用リストの記憶内容例を示す説明図である。図２１の結果格納用リスト２１００では、目的パラメータ「ｎａｍｅ」，「ｍａｄｒｓ」についての入力フォームが送信元フォームＦ１に決定されたことを示している。残余の目的パラメータ｛ｎｕｍ，ｃｏｌ，ｐｒｏｄｕｃｔＩｎｆｏ｝についてはｈｉｄｄｅｎフィールドのパラメータであるため、この段階では入力フォームは決定されない。
【００９０】
図１８に戻り、探索装置２０３は、決定部７０４により、選択された目的パラメータをｐＬｉｓｔから削除する（ステップＳ１８０７）。これにより、すでに入力フォームが決定された目的パラメータについての決定処理（ステップＳ１０１２）を防止して処理の高速化を図ることができる。このあと、ステップＳ１８０１に戻る。
【００９１】
図２２は、送信元フォームＦ１についての決定処理（ステップＳ１０１２）での設定リスト１１００の更新例を示す説明図である。図２２では、目的パラメータ「ｎａｍｅ」，「ｍａｄｒｓ」についての入力フォームが送信元フォームＦ１に決定されたため、設定リスト１１００内のｐＬｉｓｔから削除されている。
【００９２】
図１８に戻り、このあと、未選択の目的パラメータがない場合（ステップＳ１８０１：Ｎｏ）、ステップＳ１００５に移行することで、今回の決定処理（ステップＳ１０１２）は終了する。これにより、今回探索された送信元フォームを、目的パラメータの入力フォームに決定することができる。
【００９３】
なお、上述の例では、ＩＤ＝２からＩＤ＝１までについて説明したため、それ以降の状態について時系列で説明する。送信元フォームＦ１についての決定処理（ステップＳ１０１２）が終了すると、図１０において、ステップＳ１００５に戻り、ｐＬｉｓｔが空でなく、ｔ≧１である場合は、再度ｔをデクリメントすることになる（ステップＳ１００６）。
【００９４】
図２３は、ステップＳ１０１１での更新後の設定リスト１１００の状態を示す説明図（その２）である。図２３では、ステップＳ１０１１において、探索変数ｔがｔ＝１からデクリメントされてｔ＝０に更新される。
【００９５】
図２４は、ステップＳ１５０４〜Ｓ１５０５での判断結果の一例を示す説明図（その２）である。図２３での設定リスト１１００によれば、ｒｅｑ＝１，ｔ＝０である。したがって、先行レスポンスがＳ０、注目リクエストがＲ１である。そして、先行レスポンスＳ０のフォームＦ０（図４を参照）には、ｎａｍｅ属性のパラメータとして「ｎｕｍ」と「ｃｏｌ」と「ｐｒｏｄｕｃｔＩｎｆｏ」がある。一方、注目リクエストＲ１には、「ｎｕｍ＝５」，「ｃｏｌ＝１」，「ｐｒｏｄｕｃｔＩｎｆｏ＝ｙｅｓ」がある。
【００９６】
このように、レスポンスＳ０のフォームＦ１内のｎａｍｅ属性と一致するｎａｍｅ属性の値（「ｎｕｍ」と「ｃｏｌ」と「ｐｒｏｄｕｃｔＩｎｆｏ」）が、リクエストＲ１に存在する。したがって、Ｗｅｂサーバ２０１からクライアント装置２０２に送られたレスポンスＳ０のフォームＦ０にｎａｍｅ属性の値（「ｎｕｍ」と「ｃｏｌ」と「ｐｒｏｄｕｃｔＩｎｆｏ」）が入力されて、リクエストＲ１が、クライアント装置２０２からＷｅｂサーバ２０１に送られたことがわかる。
【００９７】
図２５は、ステップＳ１５０７での判断結果の一例を示す説明図（その２）である。図２３での設定リスト１１００によれば、ｒｅｑ＝１，ｔ＝０である。したがって、ＩＤ＝０での送信先ＵＲＬ「ｈｔｔｐ:／／ｅｘａｍｐｌｅ．ｃｏｍ／ｓｈｏｐ／ｏｒｄｅｒ１」とレスポンスＳ０のフォームＦ０内のａｃｔｉｏｎ属性であるＵＲＩ「／ｏｒｄｅｒ２」から、フォームＦ１の送信先ＵＲＬを求めることができる。この場合、フォームＦ０の送信先ＵＲＬは、「ｈｔｔｐ:／／ｅｘａｍｐｌｅ．ｃｏｍ／ｓｈｏｐ／ｏｒｄｅｒ２」となる。
【００９８】
図２５の例では、フォームＦ０の送信先ＵＲＬは、「ｈｔｔｐ:／／ｅｘａｍｐｌｅ．ｃｏｍ／ｓｈｏｐ／ｏｒｄｅｒ２」であり、ＩＤ＝ｒｅｑ＝１のＵＲＬも「ｈｔｔｐ:／／ｅｘａｍｐｌｅ．ｃｏｍ／ｓｈｏｐ／ｏｒｄｅｒ２」（図５を参照）であるため、一致することになる。
【００９９】
図２６は、送信元フォーム情報の一例を示す説明図（その２）である。図２３での設定リスト１１００によれば、ｒｅｑ＝１，ｔ＝０である。したがって、図２６では、送信元フォームが、先行レスポンスＳ０内のフォームＦ０であることを示している。
【０１００】
図２７は、ステップＳ１０１１での更新後の設定リスト１１００の状態を示す説明図（その３）である。図２６の結果から、先行レスポンスＳ０（ｔ＝０）で入力フォームＦ０が見つかったため、ｒｅｑ＝ｔ＝０に更新される。
【０１０１】
図２８は、送信元フォームＦ０についての目的パラメータごとのステップＳ１８０３の判断結果の一例を示す説明図である。図２８において、送信元フォームＦ０内の目的パラメータ「ｎｕｍ」，「ｃｏｌ」，「ｐｒｏｄｕｃｔＩｎｆｏ」は、送信元フォームＦ０内においてｈｉｄｄｅｎフィールドでないため（図４を参照）、すべて「ｎｏ」になっている。
【０１０２】
図２９は、送信元フォームＦ０についての決定処理（ステップＳ１０１２）での結果格納用リスト２１００の記憶内容例を示す説明図である。図２９では、図２１の状態から、さらに、目的パラメータ「ｎｕｍ」，「ｃｏｌ」，「ｐｒｏｄｕｃｔＩｎｆｏ」についての入力フォームが送信元フォームＦ０に決定されたことを示している。
【０１０３】
図３０は、図２９による送信元フォームＦ０についての決定処理（ステップＳ１０１２）の終了後の設定リスト１１００を示す説明図である。図３０では、図２９に示したように、目的パラメータのすべてについて入力フォームが決定したため、設定リスト１１００内のｐＬｉｓｔが空となる。したがって、図１０のステップＳ１００５にしたがって出力処理（ステップＳ１０１３）が実行されることになる。
【０１０４】
出力処理（ステップＳ１０１３）では、たとえば、表示指定情報を含むページ情報が生成される。具体的には、たとえば、生成部７０６は、最終的な結果である図２９の結果格納用リスト２１００と、記憶部７００に保存されているレスポンスと、目的リクエストの指定情報（ＩＤ＝２）を受け取る。これにより、生成部７０６は、インデックスページ情報と、入力フォームが決定された目的パラメータごとの探索結果用ページ情報と、を生成する。
【０１０５】
探索結果表示用ページ情報については、生成部７０６は、図２９の結果格納用リスト２１００から、目的パラメータｐとペアになっている入力フォーム情報を取得する。生成部７０６は、取得した入力フォーム情報が指しているレスポンスを、記憶部７００から取得し、そのレスポンスボディを、たとえばＨＴＭＬファイルとして保存する。ファイル名は、探索結果表示用ページ情報ごとに、１．ｈｔｍｌ，２．ｈｔｍｌ，…と連番で付けることができる。
【０１０６】
生成部７０６は、保存したＨＴＭＬファイルから、入力フォーム情報が指しているフォームを特定し、その中から、ｎａｍｅ属性の値が「ｐ」であるＩＮＰＵＴタグ、ＳＥＬＥＣＴタグ、またはＴＥＸＴＡＲＥＡタグのいずれかを探す。また、生成部７０６は、保存したＨＴＭＬファイルに対して、探し出したタグの表す要素を、目立たせるなどの書き換えを行い、探索装置２０３が探し出した入力フォームを分かりやすく表現する。
【０１０７】
例として、パラメータｐ＝「ｎａｍｅ」の探索結果表示用ページ情報を生成する処理を以下に示す。生成部７０６は、図２９の結果格納用リスト２１００から、パラメータ「ｎａｍｅ」の入力フォーム情報を取得する。取得した入力フォーム情報は、ＩＤ＝１のレスポンスＳ１のフォームＦ１を指しているので、ＩＤ＝１のレスポンスのレスポンスボディを「Ｃ：￥１．ｈｔｍｌ」にＨＴＭＬファイルとして保存する。生成部７０６は、保存したＨＴＭＬファイルから、入力フォーム情報が指しているフォームを特定し、その中から、ｎａｍｅ属性の値が「ｎａｍｅ」であるタグを探す。
【０１０８】
本例では、保存したＨＴＭＬファイル中に、ｎａｍｅ属性の値が「ｎａｍｅ」であるＩＮＰＵＴタグがあるので、そのＩＮＰＵＴタグにスタイル属性「ｓｔｙｌｅ＝“ｂｏｒｄｅｒ：ｓｏｌｉｄ；ｂｏｒｄｅｒ−ｗｉｄｔｈ：３ｐｘ；ｂｏｒｄｅｒ−ｃｏｌｏｒ：＃ｆｆ００００；”」を追加して、ＩＮＰＵＴ要素を赤枠で強調する。これにより、図９に示した画面を表示することができる。図９では、パラメータ「ｎａｍｅ」の入力フォーム探索で見つかった入力欄が赤枠で強調されることになる。
【０１０９】
また、インデックスページ情報については、生成部７０６は、目的リクエストの指定情報（ＩＤ＝２）と、記憶部７００に保存されている一連のリクエストから、目的リクエストを取得する。生成部７０６は、目的リクエストから、パラメータとパラメータ値を取得する。
【０１１０】
図３１は、目的リクエストＲ２から取得された目的パラメータおよびそのパラメータ値の組み合わせを記憶するテーブルを示す説明図である。目的パラメータおよびそのパラメータ値の取得方法は、ｐＬｉｓｔの設定時と同様である。生成部７０６は、予めＨＴＭＬファイルとして保持しておいたインデックスページ情報のテンプレートに対し、目的リクエストから取得したパラメータとパラメータ値と、各パラメータの結果表示用ページ情報へのリンク（表示指定情報）と、を追加し、インデックスページ情報を生成する。ただし、入力フォーム情報が存在しないパラメータについては、入力フォーム欄に「該当結果なし」と表示する。
【０１１１】
このように、本実施の形態によれば、リクエストに含まれるパラメータ値がユーザの入力値である場合について、その入力フォームがリクエスト送信元レスポンスよりも過去のレスポンスに含まれていても、入力フォームを特定することができる。
【０１１２】
また、本実施の形態では、先行レスポンスの中から、注目リクエストに含まれているパラメータに一致するｎａｍｅ属性の値を有し、かつ、注目リクエストのＵＲＬと一致する送信元フォームを探索する。これにより、先行レスポンスと注目リクエストで同一ｎａｍｅ属性のパラメータを含むことが保証されるため、送信元フォームの探索精度の向上を図ることができる。
【０１１３】
また、本実施の形態では、先行レスポンスのｍｅｔｈｏｄ属性と注目リクエストのｍｅｔｈｏｄ属性とが一致する場合、先行レスポンスの中から、送信元フォームを探索する。たとえば、レスポンスＳ１のフォームＦ１のｍｅｔｈｏｄ属性は「ｐｏｓｔ」であり、リクエストＲ２のｍｅｔｈｏｄ属性も「ＰＯＳＴ」である場合、ｍｅｔｈｏｄ属性が一致する。したがって、ｍｅｔｈｏｄ属性「ｐｏｓｔ」のフォームＦ１から送信されるリクエストは、ｍｅｔｈｏｄ属性「ＰＯＳＴ」のリクエストＲ２であることが保証される。
【０１１４】
また、本実施の形態では、注目リクエストを、送信元フォームが探索されたときの先行レスポンスに対応するリクエストに更新する。注目リクエストを時系列でさかのぼらせる操作をすることで、目的リクエスト内の目的パラメータごとに入力フォームを含むレスポンスが異なっていても、最古のレスポンスにまでさかのぼって追跡することができる。
【０１１５】
また、本実施の形態では、送信元フォーム内のｈｉｄｄｅｎフィールドである目的パラメータについて、目的リクエストでのパラメータ値と更新後の注目リクエストでのパラメータ値とが不一致である場合、送信元フォームを、ｈｉｄｄｅｎフィールドである目的パラメータの入力フォームに決定する。これにより、ｈｉｄｄｅｎフィールドであっても条件を満たせば、入力フォームであることがわかり、入力フォームの決定精度の向上を図ることができる。
【０１１６】
また、一致する場合、更新後の注目リクエストに含まれているパラメータに一致するｎａｍｅ属性の値を有する送信元フォームの探索を継続する。すなわち、送信元フォームが見つかるまで探索がおこなわれるため、送信元フォームの探索漏れを防止することができる。
【０１１７】
また、本実施の形態では、目的パラメータおよび目的パラメータのパラメータ値ごとに、決定された目的パラメータの入力フォームを関連付けて出力する。これにより、どの目的パラメータ（およびそのパラメータ値）がどの入力フォームで入力されたかを、直感的に把握することができる。
【０１１８】
以上説明したように、本実施の形態によれば、複数のリクエストやレスポンスに引き継がれているパラメータ値の入力フォームを特定することができる。その結果、リクエストに含まれているパラメータ値が、何の値として入力されたのかが理解しやすくなり、パラメータの意味を直感的に理解しやすくなるという効果を奏する。
【０１１９】
なお、本実施の形態で説明した探索方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本探索プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行されることになる。
【０１２０】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１２１】
（付記１）要求側装置からの一連のリクエストと当該一連のリクエストの各々のリクエストに対応する応答側装置からの一連のレスポンスとを記憶する記憶手段と、
前記記憶手段に記憶されている前記一連のリクエストのうち先頭リクエスト以外のリクエスト群から選ばれた目的リクエストを注目リクエストに設定する設定手段と、
前記注目リクエストに含まれているパラメータに一致する属性の値を有する送信元フォームが探索されるまで、前記設定手段によって設定された注目リクエストに対応するレスポンスから時系列で先行する先行レスポンスを前記記憶手段から順次選択する探索手段と、
前記探索手段によって探索された送信元フォーム内の前記目的リクエストに含まれている目的パラメータが、非表示属性項目でないパラメータである場合、前記送信元フォームを前記目的パラメータの入力フォームに決定する決定手段と、
前記決定手段によって決定された決定結果を出力する出力手段と、
を備えることを特徴とする探索装置。
【０１２２】
（付記２）前記探索手段は、
前記先行レスポンスの中から、前記注目リクエストに含まれているパラメータに一致するｎａｍｅ属性の値を有し、かつ、前記注目リクエストのＵＲＬと一致する送信元フォームを探索することを特徴とする付記１に記載の探索装置。
【０１２３】
（付記３）前記探索手段は、
前記先行レスポンスの送信方法設定属性と前記注目リクエストの送信方法設定属性とが一致する場合、前記先行レスポンスの中から、前記送信元フォームを探索することを特徴とする付記１または２に記載の探索装置。
【０１２４】
（付記４）前記注目リクエストを、前記探索手段によって前記送信元フォームが探索されたときの先行レスポンスに対応するリクエストに更新する更新手段と、を備え、
前記決定手段は、
前記送信元フォーム内の非表示属性項目である目的パラメータについて、前記目的リクエストでのパラメータ値と前記更新手段による更新後の注目リクエストでのパラメータ値とが不一致である場合、前記送信元フォームを、前記非表示属性項目である目的パラメータの入力フォームに決定することを特徴とする付記１〜３のいずれか一つに記載の探索装置。
【０１２５】
（付記５）前記探索手段は、
前記送信元フォーム内の非表示属性項目である目的パラメータについて、前記目的リクエストでのパラメータ値と前記更新手段による更新後の注目リクエストでのパラメータ値とが一致する場合、前記更新後の注目リクエストに含まれているパラメータに一致する属性の値を有する送信元フォームが探索されるまで、前記更新後の注目リクエストに対応するレスポンスから時系列で先行する先行レスポンスを順次選択することを特徴とする付記４に記載の探索装置。
【０１２６】
（付記６）前記出力手段は、
前記目的パラメータおよび前記目的パラメータのパラメータ値ごとに、前記決定手段によって決定された前記目的パラメータの入力フォームを関連付けて出力することを特徴とする付記１〜５のいずれか一つに記載の探索装置。
【０１２７】
（付記７）要求側装置からの一連のリクエストと当該一連のリクエストの各々のリクエストに対応する応答側装置からの一連のレスポンスとを記憶する記憶手段にアクセス可能なコンピュータが、
前記記憶手段に記憶されている前記一連のリクエストのうち先頭リクエスト以外のリクエスト群から選ばれた目的リクエストを注目リクエストに設定し、
前記注目リクエストに含まれているパラメータに一致する属性の値を有する送信元フォームが探索されるまで、設定された注目リクエストに対応するレスポンスから時系列で先行する先行レスポンスを前記記憶手段から順次選択し、
探索された送信元フォーム内の前記目的リクエストに含まれている目的パラメータが、非表示属性項目でないパラメータである場合、前記送信元フォームを前記目的パラメータの入力フォームに決定し、
決定された決定結果を出力する、
ことを特徴とする探索方法。
【０１２８】
（付記８）要求側装置からの一連のリクエストと当該一連のリクエストの各々のリクエストに対応する応答側装置からの一連のレスポンスとを記憶する記憶手段にアクセス可能なコンピュータに、
前記記憶手段に記憶されている前記一連のリクエストのうち先頭リクエスト以外のリクエスト群から選ばれた目的リクエストを注目リクエストに設定し、
前記注目リクエストに含まれているパラメータに一致する属性の値を有する送信元フォームが探索されるまで、設定された注目リクエストに対応するレスポンスから時系列で先行する先行レスポンスを前記記憶手段から順次選択し、
探索された送信元フォーム内の前記目的リクエストに含まれている目的パラメータが、非表示属性項目でないパラメータである場合、前記送信元フォームを前記目的パラメータの入力フォームに決定し、
決定された決定結果を出力する、
処理を実行させることを特徴とする探索プログラム。
【符号の説明】
【０１２９】
２００  システム
２０１  Ｗｅｂサーバ
２０２  クライアント装置
２０３  探索装置
７００  記憶部
７０１  設定部
７０２  探索部
７０３  更新部
７０４  決定部
７０５  出力部
７０６  生成部
【図１】
2013025506.tif 000003
【図２】
2013025506.tif 000004
【図３】
2013025506.tif 000005
【図４】
2013025506.tif 000006
【図５】
2013025506.tif 000007
【図６】
2013025506.tif 000008
【図７】
2013025506.tif 000009
【図８】
2013025506.tif 000010
【図９】
2013025506.tif 000011
【図１０】
2013025506.tif 000012
【図１１】
2013025506.tif 000013
【図１２】
2013025506.tif 000014
【図１３】
2013025506.tif 000015
【図１４】
2013025506.tif 000016
【図１５】
2013025506.tif 000017
【図１６】
2013025506.tif 000018
【図１７】
2013025506.tif 000019
【図１８】
2013025506.tif 000020
【図１９】
2013025506.tif 000021
【図２０】
2013025506.tif 000022
【図２１】
2013025506.tif 000023
【図２２】
2013025506.tif 000024
【図２３】
2013025506.tif 000025
【図２４】
2013025506.tif 000026
【図２５】
2013025506.tif 000027
【図２６】
2013025506.tif 000028
【図２７】
2013025506.tif 000029
【図２８】
2013025506.tif 000030
【図２９】
2013025506.tif 000031
【図３０】
2013025506.tif 000032
【図３１】
2013025506.tif 000033