(57)【特許請求の範囲】
【請求項１】
ＡドメインのHTTPサーバから取得したページを表示するHTTPクライアントが、Ａドメイン又はＡドメイン以外のHTTPサーバからScriptを取得し、当該Scriptを実行するステップ、
前記Scriptが、Ｂドメインサーバへ渡す情報である元情報を分解した情報片と、当該分解した各情報片を識別する情報片識別子と、前記元情報の識別子と、を少なくとも引数に含むＢドメインサーバ宛のGET文を、前記情報片ごとに実行するステップ、
前記Ｂドメインサーバのシステムが、前記GET文の実行を介して取得した情報片と、その情報片識別子と、その情報片の元情報の識別子とを関連付けて記憶手段に格納するステップ、
当該Ｂドメインサーバのシステムは、前記記憶手段から前記元情報の識別子が対応する情報片と各情報片識別子とを読み出し、当該情報片識別子に基づいて情報片から前記元情報の一部又は全てを再構成するステップ、
を含むことを特徴とした別ドメインの情報を取得する方法。
【請求項２】
請求項１記載の方法に用いるサーバシステムであって、
前記GET文の実行を介して取得した情報片と、その情報片識別子と、その情報片の元情報の識別子とを関連付けて記憶手段に格納するステップ、
前記記憶手段から前記元情報の識別子が対応する情報片と各情報片識別子とを読み出し、当該情報片識別子に基づいて情報片から前記元情報を再構成するステップ、
を実行するコンピュータを備えたことを特徴とするサーバシステム。
【請求項３】
請求項２記載のサーバシステムにおいて、更に、
前記再構成した元情報を影響させた結果情報を生成し、この結果情報を前記GET文の要求に対する応答として前記HTTPクライアントに提供するステップ、
を前記コンピュータが実行することを特徴としたサーバシステム。
【請求項４】
前記結果情報が、Scriptであることを特徴とした請求項３記載のサーバシステム。
【請求項５】
前記結果情報が、スタイルシートであることを特徴とした請求項３記載のサーバシステム。
【請求項６】
前記結果情報が、属性を伴うオブジェクトであることを特徴とした請求項３記載のサーバシステム。
【請求項７】
請求項１記載の方法に用いるサーバ用プログラムであって、
前記GET文の実行を介して取得した情報片と、その情報片識別子と、その情報片の元情報の識別子とを関連付けて記憶手段に格納するステップ、
前記記憶手段から前記元情報の識別子が対応する情報片と各情報片識別子とを読み出し、当該情報片識別子に基づいて情報片から前記元情報を再構成するステップ、
をサーバシステムのコンピュータに実行させることを特徴としたサーバ用プログラム。
【請求項８】
ＡドメインのHTTPサーバから取得したページを表示するHTTPクライアントが、Ａドメイン又はＡドメイン以外のHTTPサーバからScriptを取得し実行するステップ、
このScriptが、Ｂドメインサーバに対しPOST処理識別子を伴ったPOSTを実行するステップ、
Ｂドメインサーバのシステムが、前記POSTに対応するPOST対応処理を実行し、当該POST対応処理結果を前記POSTに付加されたPOST処理識別子に関連付けて記憶手段に格納するステップ、
前記HTTPクライアントが実行するScriptが、前記Ｂドメインサーバに対し前記GET処理識別子を伴ったGETを実行するステップ、
Ｂドメインサーバのシステムが、前記GETに対応するGET対応処理を実行し、当該GET対応処理結果を前記GETに付加されたGET処理識別子に関連付けて記憶手段に格納するステップ、
Ｂドメインサーバのシステムは、前記POST処理識別子とGET処理識別子とが対応するPOST対応処理結果およびGET対応処理結果を記憶手段から読み出し、これらPOST対応処理結果およびGET対応処理結果を影響させた複合結果情報を生成するステップ、
とを含むことを特徴とした別ドメインの情報を取得する方法。
【請求項９】
請求項８記載の方法に用いるサーバシステムであって、
前記POSTに対応するPOST対応処理を実行し、当該POST対応処理結果を前記POSTに付加されたPOST処理識別子に関連付けて記憶手段に格納するステップ、
前記GETに対応するGET対応処理を実行し、当該GET対応処理結果を前記GETに付加されたGET処理識別子に関連付けて記憶手段に格納するステップ、
前記POST処理識別子の対応するPOST対応処理結果およびGET対応処理結果を記憶手段から読み出し、これらPOST対応処理結果およびGET対応処理結果を影響させた複合結果情報を生成するステップ、
を実行するコンピュータを備えたことを特徴とするサーバシステム。
【請求項１０】
請求項９記載のサーバシステムにおいて、更に、
前記生成した複合結果情報を、前記HTTPクライアントに提供するステップ、を前記コンピュータが実行することを特徴としたサーバシステム。
【請求項１１】
前記GETに対する応答が、Scriptであることを特徴とした請求項１０記載のサーバシステム。
【請求項１２】
前記GETに対する応答が、スタイルシートであることを特徴とした請求項１０記載のサーバシステム。
【請求項１３】
前記GETに対する応答が、属性を伴うオブジェクトであることを特徴とした請求項１０記載のサーバシステム。
【請求項１４】
請求項８記載の方法に用いるサーバ用プログラムであって、
前記POSTに対応するPOST対応処理を実行し、当該POST対応処理結果を前記POSTに付加されたPOST処理識別子に関連付けて記憶手段に格納するステップ、
前記GETに対応するGET対応処理を実行し、当該GET対応処理結果を前記GETに付加されたGET処理識別子に関連付けて記憶手段に格納するステップ、
前記POST処理識別子とGET処理識別子とが対応するPOST対応処理結果およびGET対応処理結果を記憶手段から読み出し、これらPOST対応処理結果およびGET対応処理結果を影響させた複合結果情報を生成するステップ、
をコンピュータに実行させることを特徴としたサーバ用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、別ドメインの情報を取得する方法に係り、特に、HTTP（HyperText Transfer Protocol）クライアントのセキュリティ制限に則ったスクリプト言語（Javascript（登録商標）など）を実行しつつ、別ドメインに在るデータを取得する方法等に関する。
【背景技術】
【０００２】
従来、HTTPクライアント（ブラウザ）のセキュリティ制限に則ったスクリプト言語（Javascript（登録商標）など）では、別ドメインのサイトを表示しても相互のドメイン間で情報のやり取りをすることはできなかった。
【０００３】
出願人は、これに関する公知技術文献の存在を知らない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、かかる従来例の有する不都合を改善し、特に、HTTPクライアント（ブラウザ）のセキュリティ制限に則ったScript言語を実行しつつ別ドメインの情報を取得できるようにすることを課題とする。
【課題を解決するための手段】
【０００５】
この課題を解決する第１の発明は、HTTPサーバ−クライアント間で、以下のステップを実行するものである。
【０００６】
まず、ＡドメインのHTTPクライアントは、Ａドメイン又はＡドメイン以外のHTTPサーバからScriptを取得し実行する。当該Scriptは、引数を伴ったＢドメインサーバ宛のGET文を生成し実行する。Ｂドメインサーバのシステムは、このGETを介してＡドメインのHTTPクライアントから引数を取得し、この引数を取扱う所定のGET対応処理を実行する。
【０００７】
これによると、Ａドメインで実行中のScriptの記述によって、ＡドメインからＢドメインサーバに情報を渡すことができる。
【０００８】
ここで、Ｂドメインサーバのシステムは、上記GETに対する応答として、上記GET対応処理の結果情報をＡドメインのHTTPクライアントに提供してもよい。
【０００９】
これによると、Ａドメインで実行中のScriptの記述によって、ＡドメインからＢドメインサーバに情報をリクエストした結果、Ｂドメインの情報をＡドメインクライアントにおいて取得することができる。
【００１０】
続いて、本願の第２の発明は、HTTPサーバ−クライアント間で、以下のステップを実行するものである。
【００１１】
まず、ＡドメインのHTTPクライアントが、Ａドメイン又はＡドメイン以外のHTTPサーバからScriptを取得し、当該Scriptを実行する。このScriptは、元情報を分割した情報片と、当該分割した情報片を識別する情報片識別子と、前記元情報の識別子とを少なくとも引数に含むＢドメインサーバ宛のGET文を、情報片ごとに実行する。Ｂドメインサーバのシステムは、このGET文の実行を介して取得した情報片と、その情報片識別子と、その情報片の元情報の識別子とを関連付けて記憶手段に格納する。その後、Ｂドメインサーバのシステムは、上記記憶手段から元情報の識別子が対応する情報片と情報片識別子とを読み出し、当該情報片識別子に基づいて情報片から元情報を再構成する。
【００１２】
GETメソッドによりクライアントからサーバに渡すことのできる引数の長さには制限があり、一定以上の長い情報を渡すことはできない。しかし、上記の第２発明によれば、一定以上の長い元情報をGETメソッドの利用によってＢドメインサーバに渡すことができる。
【００１３】
ここで、Ｂドメインサーバのシステムは、上記再構成した元情報を影響させた結果情報を生成し、この結果情報を上記GET文の要求に対する応答としてＡドメインのHTTPクライアントに提供してもよい。この場合、ＡドメインのHTTPクライアントは、上記GET文の要求に対応する応答として、Ｂドメインサーバのシステムにおいて生成された結果情報を取得することができる。
【００１４】
続いて、本願の第３の発明は、HTTPサーバ−クライアント間で、以下のステップを実行するものである。
【００１５】
まず、ＡドメインのHTTPクライアントが、Ａドメイン又はＡドメイン以外のHTTPサーバからScriptを取得し実行する。このScriptは、Ｂドメインサーバに対しPOST処理識別子を伴ったPOSTを実行する。Ｂドメインサーバのシステムは、このPOSTに対応するPOST対応処理を実行し、当該POST対応処理結果を上記POSTに付加されたPOST処理識別子に関連付けて記憶手段に格納する。また、ＡドメインのHTTPクライアントが実行するScriptは、Ｂドメインサーバに対しGET処理識別子を伴ったGETを実行する。  Ｂドメインサーバのシステムは、このGETに対応するGET対応処理を実行し、当該GET対応処理結果をGETに付加されたGET処理識別子に関連付けて記憶手段に格納する。そして、Ｂドメインサーバのシステムは、上記POST処理識別子とGET処理識別子とが対応するPOST対応処理結果およびGET対応処理結果を記憶手段から読み出し、これらPOST対応処理結果およびGET対応処理結果を影響させた複合結果情報を生成する。
【００１６】
上記の第２発明では、GETメソッドの制限を超えた長い情報をサーバに渡すことができることを述べた。しかし、情報の長さによっては、３以上のGETメソッドを実行する必要も出てくる。一方、POSTとGETを組合わせる第３発明によれば、例えば、長い情報の大部分をPOSTでサーバに渡すと共に、GETで渡す情報はGETの制限内の長さに抑えることで、POSTとGET各１回ずつの実行により、長い情報をサーバに渡すことが可能である。
【００１７】
ここで、Ｂドメインサーバのシステムは、上記GET又はPOSTの応答として、上記複合結果情報をＡドメインのHTTPクライアントに提供してもよい。
【００１８】
更に、上記第１乃至第３発明では、ＢドメインサーバからＡドメインクライアントに返す結果情報（応答）を選ぶことができる。例えば、結果情報をScriptとして返せば、クライアントに新たな処理を与えることができる。しかし、ＢドメインサーバからＡドメインクライアントに提供された不正なScriptが実行されてしまう恐れも伴う。そこで、サーバからクライアントに返す結果情報をCSS等のスタイルシートとし、当該スタイルシート内の情報として、Ｂドメインサーバからの情報をＡドメインクライアントに与えてもよい。また、サーバからクライアントに与える結果情報は、属性（例えば画像の幅や高さ等）を伴うオブジェクト（例えば画像等）とし、当該オブジェクトの属性をＢドメインサーバからの情報としてＡドメインクライアントに与えてもよい。
【００１９】
上記において、「Ａドメイン」、「Ｂドメイン」とは、互いに異なるドメイン（別ドメイン）であることのみを示しており、「Ａ」「Ｂ」の名称を重視したものではない。
【発明の効果】
【００２０】
本願発明によれば、上述のように、HTTPクライアント（ブラウザ）のセキュリティ制限に則ったScript言語を実行しつつ別ドメインの情報を取得することができる。
【発明を実施するための最良の形態】
【００２１】
＜各実施形態に共通の構成＞
【００２２】
以下に本発明の実施形態を大きく分けて３種類説明するが、その前に、各実施形態に共通するシステムの構成を述べておく。例えば図１に示すように、本発明の実施形態は、ユーザの端末装置において実行されるHTTPクライアントが、サーバシステムにおいて実行されるＡドメインのHTTPサーバ（以下Ａサーバという）およびＢドメインのHTTPサーバ（以下Ｂサーバという）と通信するものである。
【００２３】
HTTPクライアントを実行する端末装置は、プログラム処理を実行するコンピュータ（処理手段）と、このプログラムが扱う情報を記憶するRAM，ROM，HDD等の記憶装置（記憶手段）とを備えている。また、インターネットを通じてHTTPサーバと通信するためのモデム等の通信装置（通信手段）を備えている。コンピュータが実行するプログラムおよび当該プログラムが取り扱う情報は、適時に記憶手段に格納され、また、記憶手段から読み出されるようになっている。
【００２４】
また、HTTPサーバを実行するサーバシステムも同様に、プログラム処理を実行するコンピュータ（処理手段）と、このプログラムが扱う情報を記憶するRAM，ROM，HDD等の記憶装置（記憶手段）とを備えている。また、インターネットを通じてHTTPサーバと通信するためのモデム等の通信装置（通信手段）を備えている。コンピュータが実行するプログラムおよび当該プログラムが取り扱う情報は、適時に記憶手段に格納され、また、記憶手段から読み出されるようになっている。以下に説明する動作は、端末装置およびサーバシステムのコンピュータが、プログラムを実行することにより実現される。
【００２５】
＜第１実施形態：単一GETによる方法＞
【００２６】
上記の構成を踏まえ、まず、本願発明の第１実施形態の動作を説明する。図１は、第１実施形態の動作を示す流れ図である。
【００２７】
まず、ＡドメインのHTTPクライアントが、ＡサーバからScriptを取得し実行する（Ｓ１１，Ｓ１２）。「ＡドメインのHTTPクライアント」とは、Ａドメインサーバから取得したページを表示しているHTTPクライアントを意味する。Ａサーバから取得するScriptは、HTTPクライアントのセキュリティ制限に則ったScript言語であり、本実施形態では、JavaScript（登録商標）を採用する。このScriptは、HTML（HyperText Markup Language）に埋め込まれた状態でHTTPクライアントに送られてもよいし、HTTPクライアントにおいて実行中のHTMLがＡサーバからScriptを読み込んで実行してもよい。
【００２８】
当該Scriptは、引数を伴ったＢサーバ宛のGET文を動的に生成し実行する（Ｓ１３，Ｓ１４）。ScriptがGET文を動的に生成する方法としては、例えば、CreateElementメソッドを利用する方法やdocument.writeメソッド等を利用する方法がある。これらにより、上記Scriptが、例えば下記のタグを生成し読み込むことで、Ｂサーバに対するGETリクエストが実行される。
【００２９】
【数１】
0004844253.tif 000002
【００３０】
Ｂサーバのシステムは、このGETを介してＡドメインのHTTPクライアントから引数を取得し、この引数を取扱う所定のGET対応処理を実行する（Ｓ１５）。これにより、Ｂサーバは、別ドメインであるＡドメインのHTTPクライアントから情報を取得することができる。Ｂサーバのシステムは、GETの引数をperlやservlet等のcgiにより処理し、当該GET対応処理の結果情報を記憶手段に格納する。
【００３１】
そして、Ｂサーバのシステムは、上記GETに対する応答として、上記GET対応処理の結果情報を記憶手段から読み出し、ＡドメインのHTTPクライアントに提供する（Ｓ１６）。ＡドメインのHTTPクライアントは、ＢサーバからGETに対応する結果情報を取得し、当該結果情報を取り扱う所定の処理を実行する（Ｓ１７）。これにより、ＡドメインのHTTPクライアントは、Ｂドメインのサーバから提供された情報を取得することができる。また、GETに対応する結果情報をScriptとすることにより、ＡドメインのHTTPクライアントに対し新たな処理を与えることができる。
【００３２】
＜第２実施形態：複数GETによる方法＞
【００３３】
次に、本発明の第２実施形態について、図２を参照しつつ説明する。
【００３４】
まず、ＡドメインのHTTPクライアントが、ＡドメインのHTTPサーバからScriptを取得し、当該Scriptを実行する（Ｓ２１，Ｓ２２）。この動作は、第１実施形態のステップＳ１１，Ｓ１２と同様である。
【００３５】
本実施形態において、ＡドメインのHTTPクライアントが実行したScriptは、元情報を分割した情報片と、当該分割した各情報片を識別する情報片識別子と、元情報の識別子とを引数に含むＢドメインサーバ宛のGET文を、情報片ごとに複数生成し、実行する（Ｓ２３，Ｓ２４）。ここで、元情報とは、ＡドメインのHTTPクライアントからＢサーバに渡す情報をいう。本実施形態では、元情報として、GETメソッドでは制限により渡せない比較的長い情報を意図している。例えば、元情報が以下の引数であると仮定して話を進める。
【００３６】
name=ogawa&date=20060531&domain=kawachi.com&path=index.html&permission=all&perfect
Scriptは、上記の元情報を予め決められたルールに従って分割し、複数の情報片に分ける。情報片とは、元情報を構成する要素をいう。元情報を情報片に分ける際の分け方は種々考えられるが、例えば、一定の文字数ごとに分割することや、偶数文字と奇数文字の組に分割すること、また、パラメータを繋いでいる「＆」のところで分割し、name、date、domain等の変数ごとに分割した情報片としてもよい。また例えば、一の情報片は、name=ogawa&date=20060531、他の情報片は、date=20060531&domain=kawachi.comのように、一部の要素を重複して持っていてもよい。一つの情報片は、GETで渡せる長さの情報に収まっていれば分割のルールは問わない。
【００３７】
また、Scriptは、分割した各情報片を互いに識別するために情報片識別子を情報片ごとに設定する。情報片識別子は、例えば、分割した情報片の並び順を１，２，３，…のような連番で与えてもよいし、情報片を上記のようにパラメータごとに区切った場合は、name、date等の各パラメータの変数名を情報片識別子として利用してもよい。
【００３８】
また、Scriptは、各情報片に対して元情報の識別子を与える。これは、元情報の再構成に必要な情報片を元情報の識別子に基づいてサーバ側で選別できるようにするためである。元情報の識別子は、情報片ごとに同一の識別子を与えてもよいし、情報片に異なる識別子を与えてもよい。情報片に異なる識別しを与える場合、当該異なる識別子を共通の元情報に関連付ける方法をサーバ側に登録しておき、サーバシステムが、当該元情報に関連付ける方法を参照して、元情報を共通とする情報片を選択することが考えられる。
【００３９】
ScriptがGET文を生成および実行する方法は、第１実施形態と同様であるが、本実施形態では、Ｂサーバに渡す情報片の数だけGET文を生成する。各GETには、引数として、情報片の実体と、その情報片の識別子と、その情報片の元情報の識別子とが埋め込まれ、Ｂサーバに渡される。
【００４０】
Ｂサーバのシステムは、上記GET文の実行を介して取得した情報片と、その情報片識別子と、その情報片の元情報の識別子とを関連付けて記憶手段に格納する。そして、複数の情報片の格納が完了すると、当該Ｂサーバのシステムは、記憶手段から元情報の識別子が対応する情報片と各情報片識別子とを読み出し、当該情報片識別子に基づいて情報片を合成し元情報を再構成する。これにより、Ｂサーバのシステムは、ＡドメインのHTTPクライアントから渡された元情報を取得することができ、GETの制限を超えた長い情報を取得することができる。ただし、必ずしも元情報を構成する要素のすべてが揃わなくても、GET対応処理を実行するために必要な情報が揃った段階で、Ｂサーバのシステムは、処理を開始することができる。このとき、Ｂサーバのシステムは、GET対応処理を実行するために必要な情報が揃った段階で、ＡドメインのHTTPクライアントに対し、後続のGETの実行を中止するように指示し、ＡドメインのHTTPクライアントが、この指示を受けて、まだ送信していない情報片をＢサーバに送るためのGETを中止してもよい。
【００４１】
Ｂサーバのシステムは、上記GETに対応する所定のGET対応処理を実行し（Ｓ２５）、上記再構成した元情報を影響させた結果情報を動的に生成する。そして、この結果情報を上記GETの要求に対する応答として、ＡドメインのHTTPクライアントに提供する（Ｓ２６）。ＡドメインのHTTPクライアントは、上記GETの要求に対応する応答として、Ｂサーバのシステムにおいて動的に生成された結果情報を取得し、この結果情報を取り扱う所定の処理を実行する（Ｓ２７）。このGET対応処理（Ｓ２５）の実行から結果情報の取扱（Ｓ２７）までの処理は、第１実施形態のステップＳ１５からＳ１７までの処理と同様であり、ＡドメインのHTTPクライアントは、Ｂドメインのサーバから提供された情報を取得することができる。
【００４２】
＜第３実施形態：POSTとGETの組み合わせによる方法＞
【００４３】
次に、本発明の第３実施形態について、図３を参照しつつ説明する。上記の第２実施形態では、GETメソッドを使いつつ、GETメソッドの制限を超えた長い情報を別ドメインのサーバに渡すことができる。しかし、サーバ側で複数の情報片を合成し、元情報を再構成する処理を伴う。そこで、本実施形態では、第２実施形態のようにGETの制限を超えた長い情報を別ドメインのサーバに渡すことができ、かつ、第２実施形態よりも簡単な仕組みを提案する。
【００４４】
まず、ＡドメインのHTTPクライアントが、ＡドメインのHTTPサーバからScriptを取得し実行する（Ｓ３１，Ｓ３２）。
【００４５】
このScriptは、Ｂサーバに対しPOST処理識別子を伴ったPOST文を生成し実行する（Ｓ３３、Ｓ３４）。POST処理識別子およびGET処理識別子は、POSTとGETで別々に渡した情報をサーバ側で関連付けて処理するための識別子である。POSTに付加するPOST処理識別子と、後述のGETに付加するGET処理識別子とは、同一にすることもできるし、異なる値にすることもできる。関連するPOSTとGETの処理識別子を同一にする場合、Ｂサーバのシステムは、POST処理識別子とGET処理識別子とが一致するPOSTとGETの引数を用いて処理を行う。一方、関連するPOSTとGETの処理識別子を異なる値にする場合、ＢサーバのシステムにPOST処理識別子と、GET処理識別子とを関連付ける方法を予め登録しておき、この方法に基づき、対応するPOSTとGETの組合わせから、それぞれの引数を取得して処理に用いる。
ここで、POST処理識別子とGET処理識別子とを関連付ける方法は、必ずしもサーバ側に予め登録しておくことに限らない。例えば、POST処理識別子とGET処理識別子とを関連付ける方法は、クライアントからサーバへのPOSTの際に、当該クライアントからサーバへ渡してもよい。
【００４６】
【数２】
0004844253.tif 000003
【００４７】
Ｂサーバのシステムは、POSTに対応する所定のPOST対応処理を実行し、当該POST対応処理結果をPOSTに付加されたPOST処理識別子に関連付けて記憶手段に格納する（Ｓ３５，Ｓ３６）。POST対応処理結果は、POSTにより渡された情報をそのまま記憶してもよいし、POSTにより渡された情報を用いた所定の処理を実行し、当該処理の実行結果を記憶してもよい。
【００４８】
本実施形態において、Ｂサーバのシステムは、このPOSTに対応する応答（POST完了通知）をHTTPクライアントに返す（Ｓ３７）。HTTPクライアントにこの応答が届くと、当該ＡドメインのHTTPクライアントにて実行中のScriptは、次の処理を行う。
【００４９】
上記Scriptは、Ｂサーバに対しGET処理識別子を伴ったGET文を生成し実行する（Ｓ３８，Ｓ３９）。ＡドメインのHTTPクライアントからＢサーバに対してGETを実行する方法は、第１実施形態のＳ１３，Ｓ１４ステップと同様であるが、ここでは例えば、以下のパラメータをＢサーバに送る。
date=20060531&domain=kawachi.com&getid=getid_xyz
【００５０】
Ｂサーバのシステムは、このGETに対応するGET対応処理を実行し（Ｓ４０）、当該GET対応処理結果をGETに付加されたGET処理識別子に関連付けて記憶手段に格納する。GET対応処理結果は、GETにより渡された情報をそのまま記憶してもよいし、GETにより渡された情報を用いた所定の処理を実行し、当該処理の実行結果を記憶してもよい。
【００５１】
その後、Ｂサーバのシステムは、POST処理識別子とGET処理識別子とが対応するPOST対応処理結果およびGET対応処理結果を記憶手段から読み出し、これらPOST対応処理結果およびGET対応処理結果を影響させた複合結果情報を生成する（Ｓ４１、上記の例ではpostid_xyz のものと getid_xyz のものとで関連付けて処理を行う）。ここで、影響させるとは、つまり、POST対応処理結果およびGET対応処理結果を所定の関数に入力した出力として複合結果情報を得ることを意味する。
【００５２】
Ｂサーバのシステムは、複合結果情報をＡドメインのHTTPクライアントに提供する（Ｓ４２）。ＡドメインのHTTPクライアントは、Ｂサーバから提供されたscript等の複合結果情報を取得し、この複合結果情報を取り扱う所定の処理を実行する（Ｓ４３）。
【００５３】
ここで、本実施形態では、POSTの後にGETを実行する順序としたが、本発明は、この順序に限られるものではない。GETが先、POSTが後に行われてもよいし、HTTPクライアントにおいて実行中のScriptは、POST又はGETの完了通知を待たずに、他方のGET又はPOSTリクエストを実行してもよい。また、GETの実行は１回に限らない。第２実施形態のように複数回のGETとPOSTとを組み合わせてもよい。
【００５４】
＜結果情報の実施例１＞
【００５５】
以上、３つの実施形態を説明したが、以降は、GET又はPOST処理の結果としてＢサーバからＡドメインのHTTPクライアントに渡される結果情報について、実施例を紹介する。
【００５６】
上記各実施形態において、ＢサーバからHTTPクライアントに返す結果情報の一例としてはScriptが考えられる。ＢサーバからＡドメインのHTTPクライアントにScriptを渡すことによって、ＢドメインからＡドメインを制御することができる。しかし、Ｂドメインに準備されたScriptが不正なScriptであった場合、当該不正なScriptがＡドメインにおいて実行されてしまう虞がある。そこで、ＢサーバからＡドメインのHTTPクライアントに送る結果情報は、CSS（Cascading Style Sheets）等のスタイルシートとしてもよい。ＢサーバからＡドメインのHTTPクライアントにスタイルシートを渡すことによって、ＢドメインからＡドメインを制御することが可能となる。スタイルシートの記述の解釈をＢサーバとＡドメインのHTTPクライアントとの間で事前に取り決めておけば、通常スタイルシートで制御できる範囲を超えた制御も可能となる。
【００５７】
＜結果情報の実施例２＞
【００５８】
次に、ＢサーバからＡドメインのHTTPクライアントへ渡す結果情報として、Scriptを渡すが、そのScriptがDOMオブジェクトの属性やDOMオブジェクトの種類又は数を情報として与える方法を紹介する。例えば、結果情報のScriptに以下の記述をした場合、250pxという情報を取得することができる。
【００５９】
【数３】
0004844253.tif 000004
【００６０】
＜結果情報の実施例３＞
【００６１】
次に、ＢサーバからＡドメインのHTTPクライアントへ渡す結果情報として、属性を伴うオブジェクトを渡す方法を紹介する。例えば、ＢサーバからＡドメインのHTTPクライアントへ渡す結果情報として画像を渡す。HTTPクライアントにおいて実行中のScriptは、この画像の属性として例えば画像の幅を取得し、情報として利用することができる。例えば、以下のScriptによって、３つの画像の幅情報を取得することができる。
【００６２】
【数４】
0004844253.tif 000005
【００６３】
＜結果情報の実施例４＞
【００６４】
上記結果情報の実施例３では、ＢサーバからＡドメインのクライアントに画像を取得し、当該画像の幅情報を得ることについて例示した。次は、この幅情報などの属性を利用し、更に別の情報を得る方法を紹介する。例えば、図１に示した第１実施形態において、クライアントで実行中のScriptは、ステップＳ１３からＳ１７までの処理をdoループにより条件が整うまで繰り返す。このとき、Ｂサーバに要求する結果情報は画像（オブジェクト）とし、所定の幅と高さ（属性）を伴った画像を結果情報として繰り返し取得する。この間、クライアントのScriptは画像の取得回数を記憶手段に計数する。そして、Scriptは、ループを回しながら画像を取得するごとに、当該取得画像の幅および高さを検査し（結果情報の実施例３を利用する）、画像の幅および高さが予め設定した値に一致する画像を取得した場合はループを終了する。そして、ループを抜けたときのループ繰り返し回数を記憶手段から読み出し、当該繰り返し回数を情報として利用する。
【００６５】
これによると、Ｂサーバにおいて、画像の幅等の属性を意図的に制御することにより、所望の情報をＡドメインに与えることができる。以上は第１実施形態を例に説明したが、第２実施形態ではステップＳ２３〜Ｓ２７を繰り返すことによって、また、第３実施形態ではステップＳ３３〜Ｓ４３を繰り返すことによって、実現することができる。
【００６６】
＜各実施形態に共通の変形例：Scriptの取得先＞
【００６７】
ところで、第１実施形態から第３実施形態においては、Ａドメインのクライアントにおいて実行するScriptをＡドメインのサーバから取得することにしている（ステップＳ１１，Ｓ２１，Ｓ３１）。しかし、Ａドメインのクライアントが、Ａドメイン以外のサーバからScriptを取得し実行することも可能である。例えば、上記各実施形態において、Ｂドメインから結果情報として取得したScriptをＡドメインのクライアントにて実行することができる。
【００６８】
＜各実施形態に共通の実施例：応用実施形態の紹介＞
【００６９】
最後に、上記各実施形態を応用した情報提供システムの実施形態を紹介する。図４は、この情報提供システムの構成を示すブロック図である。
【００７０】
上述した第１乃至第３実施形態のいずれかが、ドメイン３のHTTPクライアントと、ドメイン２のサーバとの間で実行されている。ここで、第１乃至第３実施形態に登場したＡドメインのHTTPクライアントに対応するのは、ドメイン３のページ３を開いているHTTPクライアントである。また、Ｂドメインサーバに対応するのは、ドメイン２のサーバである。
【００７１】
この図４に示す情報提供システムにおいて、ドメイン３のページ３にて実行中のScriptは、適時にドメイン２サーバに対するリクエストを送信し、ドメイン２サーバに置かれた情報を結果情報として取得している。このリクエストと結果情報の取得は第１乃至第３実施形態の動作により、適時に繰り返し行われている。
【００７２】
一方、別ドメインであるドメイン１のHTTPクライアントにて開かれているページ１は、ドメイン２サーバに情報を渡すためにドメイン２のページ２をポップアップし、このドメイン２のページ２を介してドメイン２サーバに対しPOST等によって情報を渡す。ドメイン２サーバは、ページ２を介してページ１から渡されたドメイン１の情報を反映し、新たな情報を記憶手段に生成または更新する。ドメイン２サーバは、こうして生成または更新した情報を、ドメイン３のページ３からのリクエストに対する結果情報としてドメイン３のページ３に提供する。
【００７３】
これを具体例で説明すると、例えば、ドメイン３のページ３は、地図共有サイトをユーザＹに提供し、地図画像を表示している。ドメイン２のサーバには、地図に旗を立てるための座標データが用意されており、ユーザＹは、この座標データに基づいて旗が立てられた地図を閲覧している。
【００７４】
一方、ドメイン１のページ１は、ドメイン３とは異なる地図表示サイトをユーザＸに提供している。このドメイン１の地図表示サイトでは、ユーザＸが閲覧中の地図に旗を立てることができる。ユーザＸが閲覧中の地図に旗を立てると、その旗の座標は所定のタイミングでドメイン２のページ２を介してドメイン２サーバに送られる。ドメイン２サーバのシステムは、ユーザＸが立てた旗の座標データをデータベースに更新する。
【００７５】
その後、ドメイン３のページ３から旗の座標データの更新が要求されると、その要求に対する結果情報として現状の旗の座標データがページ３のScriptに送られ、ユーザＹが閲覧している地図において、旗の表示が更新される。つまり、ドメイン１でユーザＸの立てた旗が、ドメイン３でユーザＹが閲覧している地図に現れる。
【００７６】
以上、種々の実施形態および実施例を紹介したが、本発明の適用は、これらに限られるものではなく、更に多様な形態を実現できるものである。
【図面の簡単な説明】
【００７７】
【図１】本発明の第１実施形態の動作を示す流れ図である。
【図２】本発明の第２実施形態の動作を示す流れ図である。
【図３】本発明の第３実施形態の動作を示す流れ図である。
【図４】第１乃至第３実施形態を応用した情報提供システムの説明図である。
【符号の説明】
【００７８】
Ｓ１１〜Ｓ１７  第１実施形態の動作ステップ
Ｓ２１〜Ｓ２７  第２実施形態の動作ステップ
Ｓ３１〜Ｓ４２  第３実施形態の動作ステップ
【図１】
0004844253.tif 000006
【図２】
0004844253.tif 000007
【図３】
0004844253.tif 000008
【図４】
0004844253.tif 000009