(57)【特許請求の範囲】
【請求項１】
ブラウザから受信したリクエストに含まれる資源識別子が所定のフォーマットに適合するか否かを判定する判定部と、
前記資源識別子が所定のフォーマットに適合しないと前記判定部により判定されたとき、前記資源識別子のリンク元である資源識別子に含まれるサーバのドメイン名を前記リクエストから抽出する抽出部と、
前記抽出部によって抽出された前記サーバのドメイン名を、前記リクエストに含まれる資源識別子のドメイン部の後ろに挿入する挿入処理を行う挿入部と、
を備えた中継装置。
【請求項２】
前記リクエストに含まれる資源識別子を記憶する記憶部をさらに備え、
前記抽出部は、前記リンク元である資源識別子が前記リクエストに含まれていないとき、前記記憶部に記憶され、かつ前記所定のフォーマットに適合する資源識別子のうち前記記憶部への記憶が最新の資源識別子から前記サーバのドメイン名を抽出することを特徴とする請求項１に記載の中継装置。
【請求項３】
前記挿入処理が行われた資源識別子に対するリダイレクト処理を要求するレスポンスを前記ブラウザに送信する応答部をさらに備えたことを特徴とする請求項１又は２に記載の中継装置。
【請求項４】
前記挿入処理が行われた資源識別子のドメイン部を、当該中継装置のドメイン名から前記挿入処理が行われた資源識別子に含まれるサーバのドメイン名へ置き換えて、前記リクエストを変換する変換部をさらに備えたことを特徴とする請求項１又は２に記載の中継装置。
【請求項５】
コンピュータによって実行される中継方法であって、
ブラウザから受信したリクエストに含まれる資源識別子が所定のフォーマットに適合するか否かを判定し、
前記資源識別子が所定のフォーマットに適合しないと判定されたとき、前記資源識別子のリンク元である資源識別子に含まれるサーバのドメイン名を前記リクエストから抽出し、
前記抽出された前記サーバのドメイン名を、前記資源識別子のドメイン部の後ろに挿入することを特徴とする中継方法。
【請求項６】
コンピュータに、
ブラウザから受信したリクエストに含まれる資源識別子が所定のフォーマットに適合するか否かを判定し、
前記資源識別子が所定のフォーマットに適合しないと判定されたとき、前記資源識別子のリンク元である資源識別子に含まれるサーバのドメイン名を前記リクエストから抽出し、
前記抽出された前記サーバのドメイン名を、前記資源識別子のドメイン部の後ろに挿入する処理を実行させることを特徴とする中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、中継方法及び中継プログラムに関する。
【背景技術】
【０００２】
セキュリティの強化などのために、Ｗｅｂブラウザ(Web Browser)とＷｅｂサーバ(Web Server)の間にリバースプロキシサーバ（Reverse proxy server）と呼ばれる中継装置が設置されることがある。この場合、Ｗｅｂブラウザのリクエスト（Request）は、Ｗｅｂサーバに直接送信されず、中継装置を介してＷｅｂサーバに送信される。
【０００３】
中継装置は、Ｗｅｂブラウザのリクエストを受信すると、Ｗｅｂサーバからリソースを取得するためのＵＲＬ（Uniform Resource Locator：統一資源位置指定子）を特定する。中継装置は、このＵＲＬの特定を、Ｗｅｂブラウザから受信したリクエストに含まれるＵＲＬの中の特定部分の記述に基づいて行う。ＵＲＬを特定すると、中継装置は、Ｗｅｂブラウザから受信したリクエストに含まれるＵＲＬを、特定したＵＲＬに書き換える。中継装置は、このように書き換えたリクエストをＷｅｂサーバに送信する。
【０００４】
図２１は、中継装置によるＵＲＬの書き換え手順の説明図である。図２１に示すように、端末装置１１０のＷｅｂブラウザ１１１とＷｅｂサーバ１３０の間には、中継装置１２０が配置される。以下においては、ＨＴＭＬファイル「A.html」に基づいたＷｅｂページを表示部１１２に表示するために、Ｗｅｂブラウザ１１１がＷｅｂサーバ１３０からＨＴＭＬファイル「A.html」を取得する例を説明する。なお、中継装置１２０のドメイン名を「server」とし、Ｗｅｂサーバ１３０のドメイン名を「domain1」とする。
【０００５】
図２１に示すように、端末装置１１０のＷｅｂブラウザ１１１は、リクエストを中継装置１２０へ送信する（ステップＳ１００）。ステップＳ１００において、Ｗｅｂブラウザ１１１から送信されるリクエストに含まれるＵＲＬは、「http://server/http:domain1/A.html」である。
【０００６】
中継装置１２０は、Ｗｅｂブラウザ１１１からリクエストを受信すると、受信したリクエストに含まれるＵＲＬを変換部１２１により変換する（ステップＳ１０１）。具体的には、中継装置１２０は、変換部１２１によりリクエストに含まれるＵＲＬを「http://server/http:domain1/A.html」から「http://domain1/A.html」へ変換する。中継装置１２０は、変換部１２１によりＵＲＬが変換されたリクエストを、Ｗｅｂサーバ１３０へ転送する（ステップＳ１０２）。
【０００７】
Ｗｅｂサーバ１３０は、中継装置１２０からリクエストを受信すると、受信したリクエストに含まれるＵＲＬ「http://domain1/A.html」に基づき、ＨＴＭＬファイル「A.html」を読み出す。Ｗｅｂサーバ１３０は、読み出したＨＴＭＬファイル「A.html」を含むレスポンスを中継装置１２０へ送信する（ステップＳ１０３）。中継装置１２０は、Ｗｅｂサーバ１３０から受信したレスポンスをＷｅｂブラウザ１１１へ転送する。
【０００８】
Ｗｅｂブラウザ１１１はＨＴＭＬファイル「A.html」を受信すると、受信したＨＴＭＬファイル「A.html」内に含まれるリンク先ＵＲＬを変換する（ステップＳ１０４）。リンク先ＵＲＬとは、ＨＴＭＬファイルによりハイパーリンクが設定されたＵＲＬである。リンク先ＵＲＬとして、例えば、「http://domain1/F.html」がＨＴＭＬファイル「A.html」内に記述されているとする。この場合、Ｗｅｂブラウザ１１１は、「http://domain1/F.html」を「http://server/http:domain1/F.html」に変更する。この変更により、Ｗｅｂブラウザ１１１によるリクエストの送信先がＷｅｂサーバ１３０から中継装置１２０に変更される。すなわち、Ｗｅｂブラウザ１１１によるＨＴＭＬファイル「F.html」の取得が中継装置１２０を介して行われるようにＨＴＭＬファイル「A.html」内の記述が変換される。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−９４８０５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、ＨＴＭＬファイルにおいてリンク先ＵＲＬが誤った相対パスで記述されている場合、Ｗｅｂブラウザ１１１からのリクエストが中継装置１２０からＷｅｂサーバ１３０へ送信されないことがある。
【００１１】
具体的には、ＨＴＭＬファイルにおいて、存在しない上位階層を示す相対パスがリンク先ＵＲＬとして記述されている場合である。この場合、Ｗｅｂブラウザ１１１から中継装置１２０に送信されたリクエストは、中継装置１２０からＷｅｂサーバ１３０へ送信されない。
【００１２】
例えば、Ｗｅｂブラウザ１１１がＵＲＬ「http://server/http:domain1/A.html」を指定して、図２１に示すように、ＨＴＭＬファイル「A.html」を取得したとする。また、Ｗｅｂブラウザ１１１が取得したＨＴＭＬファイル「A.html」内には、あるリンク先ＵＲＬとして、「../B.html」が記述されているとする。なお、ＨＴＭＬファイル「B.html」をＷｅｂサーバ１３０から取得するための正しいＵＲＬは、相対パスで記述すると「./B.html」であり、絶対パスで記述すると「http//server/http:domain1/B.html」である。
【００１３】
図２２は、誤った相対パスがリンク先ＵＲＬとして記述されている場合におけるＵＲＬの書き換え手順の説明図である。Ｗｅｂブラウザ１１１は、ＨＴＭＬファイル「A.html」をＷｅｂサーバ１３０から取得したとき、図２１のステップＳ１０４で示したように、絶対パスで記述されているリンク先ＵＲＬを変換する。一方、相対パスで記述されているリンク先ＵＲＬは変換しない。従って、リンク先ＵＲＬが相対パスで記述されている「../B.html」は変換されない。
【００１４】
Ｗｅｂブラウザ１１１は、リンク先ＵＲＬ「../B.html」がリクエスト対象として指定されたとき、このリンク先ＵＲＬを絶対パスで記述されるＵＲＬへ変換する（ステップＳ１０５）。ここで、リンク元ＵＲＬは「http://server/http:domain1/A.html」であり、「../」は一つ上位の階層を示す記述である。そのため、Ｗｅｂブラウザ１１１は、ＨＴＭＬファイル「B.html」がＨＴＭＬファイル「A.html」の一つ上位の階層である「http:domain1」と同階層にあるとみなす。そのため、Ｗｅｂブラウザ１１１は、リンク先ＵＲＬの相対パス「../B.html」を、絶対パス「http://server/B.html」に変換する。リンク先ＵＲＬの正しい絶対パスは、上述したように「http://server/http:domain1/B.html」であるため、Ｗｅｂブラウザ１１１は、誤ったＵＲＬを生成することになる。
【００１５】
ステップＳ１０５において変換されたリンク先ＵＲＬ「http://server/B.html」は、リクエストＵＲＬとしてリクエストに設定され、Ｗｅｂブラウザ１１１から中継装置１２０に送信される（ステップＳ１０６）。このリクエストＵＲＬには、Ｗｅｂサーバ１３０のドメイン名が含まれていないため、中継装置１２０の変換部１２１ではＵＲＬの変換を行うことができない（ステップＳ１０７）。従って、中継装置１２０は、リクエストを転送すべきＷｅｂサーバが解からず、リクエストの転送を行うことができない。
【００１６】
中継装置１２０においてリクエストの転送を行うことができない現象は、中継装置１２０によってＨＴＭＬファイル内のリンク先ＵＲＬを変換する場合でも同様に発生する。何故なら、中継装置１２０の変換方法もＷｅｂブラウザ１１１と変換方法は同じであるためである。従って、存在しない上位階層を示す相対パスがリンク先ＵＲＬとして記述されている場合、中継装置１２０による変換後のリンク先ＵＲＬは誤ったＵＲＬとなる。このように誤ったリンク先ＵＲＬは、中継装置１２０からＷｅｂブラウザ１１１に渡される。従って、Ｗｅｂブラウザ１１１は、誤ったリンク先ＵＲＬを含むリクエストを中継装置１２０に送信することになり、Ｗｅｂブラウザ１１１でＵＲＬを変換する場合と同様の現象が発生する。
【００１７】
このように、存在しない上位階層を示す相対パスに基づくリクエストがＷｅｂブラウザ１１１から送信された場合、中継装置１２０はリクエストの転送を行うことができない。従って、Ｗｅｂブラウザ１１１は、リクエストを送信したにもかかわらず、このリクエストに応じたリソースをＷｅｂサーバ１３０から取得することができない。
【００１８】
開示の技術は、上記に鑑みてなされたものであって、存在しない上位階層を示す相対パスに基づくリクエストに対し、正しい送信先を判別することができる中継装置、中継方法及び中継プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
本願の開示する中継装置は、一つの態様において、判定部と、抽出部と、挿入部とを備える。前記判定部は、ブラウザから受信したリクエストに含まれる資源識別子が所定のフォーマットに適合するか否かを判定する。前記抽出部は、前記資源識別子が所定のフォーマットに適合しないと前記判定部により判定されたとき、前記資源識別子のリンク元である資源識別子に含まれるサーバのドメイン名を前記リクエストから抽出する。前記挿入部は、前記抽出部によって抽出された前記サーバのドメイン名を、前記リクエストに含まれる資源識別子のドメイン部の後ろに挿入する。
【発明の効果】
【００２０】
本願の開示する技術の一つの態様によれば、存在しない上位階層を示す相対パスに基づくリクエストに対し、正しい送信先を判別することができる。
【図面の簡単な説明】
【００２１】
【図１】図１は、実施例１に係る中継装置を含む通信システムの構成を示す図である。
【図２】図２は、実施例１に係る中継装置のＵＲＬ変換処理を説明する図である。
【図３】図３は、実施例１に係る中継装置のＵＲＬ変換処理を説明する図である。
【図４】図４は、実施例１に係る中継装置のＵＲＬ変換処理を説明する図である。
【図５】図５は、実施例１に係る中継装置のＵＲＬ変換処理を説明する図である。
【図６】図６は、実施例１に係る中継装置の構成を示すブロック図である。
【図７】図７は、実施例１に係る中継装置の挿入部の処理を説明する図である。
【図８】図８は、実施例１に係る中継装置の応答部から送信されるレスポンスを説明する図である。
【図９】図９は、実施例１に係る中継装置の処理を示すシーケンス図である。
【図１０】図１０は、実施例１に係る中継装置の処理を示すシーケンス図である。
【図１１】図１１は、実施例１に係る中継装置の処理を示すシーケンス図である。
【図１２】図１２は、実施例２に係る中継装置の構成を示すブロック図である。
【図１３】図１３は、実施例２に係る中継装置の記憶部に記憶される通信ログの例を示す図である。
【図１４】図１４は、実施例２に係る中継装置の判定部の処理を説明する図である。
【図１５】図１５は、実施例２に係る中継装置の処理を示すシーケンス図である。
【図１６】図１６は、実施例２に係る中継装置の処理を示すシーケンス図である。
【図１７】図１７は、実施例３に係る中継装置の構成を示すブロック図である。
【図１８】図１８は、実施例３に係る中継装置の処理を示すシーケンス図である。
【図１９】図１９は、実施例４に係る中継装置を含む通信システムの構成を示す図である。
【図２０】図２０は、実施例４に係る中継装置の構成を示すブロック図である。
【図２１】図２１は、従来のＵＲＬの書き換え手順の説明図である。
【図２２】図２２は、従来のＵＲＬの書き換え手順の説明図である。
【発明を実施するための形態】
【００２２】
以下に添付図面を参照して、この発明に係る中継装置、中継方法及び中継プログラムの実施例を詳細に説明する。 
【実施例１】
【００２３】
以下の実施例では、実施例１に係る中継装置のＵＲＬ変換機能、構成および処理の流れを順に説明し、最後に実施例１による効果を説明する。
【００２４】
［中継装置のＵＲＬ変換機能］
まず最初に、図１〜５を用いて、実施例１に係る中継装置３のＵＲＬ変換機能を説明する。図１は、実施例１に係る中継装置３を含む通信システムの構成を示す図である。また、図２〜図５は、実施例１に係る中継装置３のＵＲＬ変換機能を説明する図である。なお、以下においては、中継装置３のドメイン名を「server」とし、Ｗｅｂサーバ４のドメイン名を「domain1」とする。また、Ｗｅｂブラウザ２と中継装置３との間の通信、及び中継装置３とＷｅｂサーバ４との間の通信は、通信プロトコルとしてＨＴＴＰ（Hypertext Transfer Protocol）などが用いられる。
【００２５】
図１に示すように、実施例１に係る中継装置３は、Ｗｅｂブラウザ(Web Browser)２を有する端末装置１内に配置されるローカルプロシキ（Local Proxy）である。この中継装置３は、リバースプロキシとも呼ばれ、Ｗｅｂブラウザ２のリクエスト（Request）を中継する。すなわち、Ｗｅｂブラウザ２のリクエストは、Ｗｅｂサーバ(Web Server)４には直接送信されず、中継装置３を介してＷｅｂサーバ４に送信される。
【００２６】
Ｗｅｂブラウザ２から送信されるリクエストには、リクエスト行、メッセージヘッダ及びメッセージボディなどの情報が含まれる。そして、リクエスト行には、リクエストＵＲＬが含まれる。リクエストＵＲＬは、Ｗｅｂブラウザ２が取得しようとするリソース（Resource）のＵＲＬ（Uniform Resource Locator：統一資源位置指定子）である。リソースとして、例えば、ＨＴＭＬファイル、画像データ、動画データ、音楽データなどがある。なお、ＵＲＬは、資源識別子の一例である。すなわち、ＵＲＬは、ＵＲＩ（Uniform Resource Identifier：統一資源識別子）であり、ネットワーク上に存在するリソースの場所を指し示す記述方式である。
【００２７】
中継装置３は、Ｗｅｂブラウザ２のリクエストを受信すると、受信したリクエストに含まれるリクエストＵＲＬからリソースのＵＲＬを特定する。例えば、リクエストＵＲＬが図２に示すＵＲＬであるとする。すなわち、リクエストに含まれるＵＲＬのスキーム部、ドメイン部及びパス部にそれぞれ、「http」、「server」及び「http:domain1/A.html」が記述されているとする。この場合、中継装置３は、図３に示すように、リクエストＵＲＬのパス部「http:domain1/A.html」からリソースのＵＲＬ「http://domain1/A.html」を特定する。なお、スキーム部には、リソースを取得するためのプロトコル名が記述される。ドメイン部には、Ｗｅｂサーバ４などのようにリソースを有する装置のドメイン名が記述される。パス部には、ドメイン部で指定された装置内のリソースの所在地の情報が記述される。例えば、パス部には、ディレクトリ名やフォルダ名を含んだファイル名が記述される。
【００２８】
リソースのＵＲＬを特定すると、中継装置３は、リクエストＵＲＬをリソースのＵＲＬに書き換える。中継装置３は、このようにＵＲＬを書き換えたリクエストをＷｅｂサーバ４にネットワーク５を介して送信する。
【００２９】
このように、実施例１に係る中継装置３では、Ｗｅｂブラウザ２からリクエストを受信すると、受信したリクエストに含まれるリクエストＵＲＬのドメイン部を中継装置３のドメイン名からＷｅｂサーバ４のドメイン名に変換する。このようにすることで、Ｗｅｂブラウザ２からのリクエストは、中継装置３を介してＷｅｂサーバ４へ送信される。
【００３０】
Ｗｅｂサーバ４は、中継装置３を介したＷｅｂブラウザ２からのリクエストに対して、リクエストＵＲＬに応じたＨＴＭＬファイルを含むレスポンスを中継装置３へ送信する。中継装置３は、Ｗｅｂサーバ４から受信したレスポンスをＷｅｂブラウザ２へ転送する。Ｗｅｂブラウザ２は、ＨＴＭＬファイルを受信すると、受信したＨＴＭＬファイルに含まれるリンク先ＵＲＬのうち絶対パスで記述されたＵＲＬを、中継装置３を送信先とするＵＲＬに変換する。例えば、受信したＨＴＭＬファイルにリンク先ＵＲＬとして、「http://domain1/G.html」が記述されている場合、Ｗｅｂブラウザ２は、このリンク先ＵＲＬを「http://server/http:domain1/G.html」に変換する。
【００３１】
このように、Ｗｅｂブラウザ２は、リンク先ＵＲＬのドメイン部が中継装置３のドメイン名となるようにＨＴＭＬファイルの書き換えを行っている。そのため、Ｗｅｂブラウザ２は、Ｗｅｂサーバ４が提供する画像データやＨＴＭＬファイルなどのリソースを中継装置３を介して要求及び取得することになる。
【００３２】
また、Ｗｅｂブラウザ２は、リンク先ＵＲＬを変換して、リクエストＵＲＬのパス部にＷｅｂサーバ４のドメイン名やリソースのパス名を含ませるようにしている。そのため、中継装置３は、Ｗｅｂブラウザ２からリクエストを受信したとき、受信したリクエストに含まれるリクエストＵＲＬを、Ｗｅｂサーバ４のＵＲＬに書き換えることができる。Ｗｅｂサーバ４のＵＲＬは、Ｗｅｂサーバ４からソースを取得するためのＵＲＬである。
【００３３】
ところで、リンク先ＵＲＬが相対パスで記述されている場合がある。この場合、Ｗｅｂブラウザ２は、ＨＴＭＬファイルの取得時にはリンク先ＵＲＬの変換を行わず、リンク先ＵＲＬがリクエスト対象として指定されたときに、リンク先ＵＲＬを変換する。このリンク先ＵＲＬの変換は、リンク元ＵＲＬに基づいて行われる。
【００３４】
例えば、リンク元ＵＲＬが「http://server/http:domain1/A.html」であり、リンク先ＵＲＬが相対パスで「./B.html」と記述されているとする。「./」は同階層を示す記述であり、ＨＴＭＬファイル「B.html」は、ＨＴＭＬファイル「A.html」と同階層である。そのため、Ｗｅｂブラウザ２は、相対パスで記述されたリンク先ＵＲＬを、絶対パス「http://server/http:domain1/B.html」に変換する。Ｗｅｂブラウザ２は、このように変換したリンク先ＵＲＬをリクエストＵＲＬとしたリクエストを送信する。
【００３５】
ところが、存在しない上位階層を示す相対パスがリンク先ＵＲＬとして記述されている場合、Ｗｅｂブラウザ２により変換したリンク先ＵＲＬのパス部には、Ｗｅｂブラウザ２のドメイン名が含まれなくなる。
【００３６】
例えば、Ｗｅｂブラウザ２がＵＲＬ「http://server/http:domain1/A.html」を指定してＨＴＭＬファイル「A.html」を取得したとする。そして、ＨＴＭＬファイル「A.html」内にリンク先ＵＲＬとして、相対パス「../B.html」が記述されているとする。「../」は一つ上位の階層を示す記述である。従って、ＨＴＭＬファイル「B.html」は、Ｗｅｂブラウザ２によりＨＴＭＬファイル「A.html」の一つ上位の階層である「http:domain1」と同階層にあるとみなされる。
【００３７】
そのため、Ｗｅｂブラウザ２は、図４に示すように、リンク先の相対パス「../B.html」を、リンク元ＵＲＬ「http://server/http:domain1/A.html」に基づき、「http://server/B.html」へ変換する。変換されたＵＲＬのパス部にはＷｅｂサーバ４のドメイン名が含まれておらず、このようなＵＲＬがリクエストＵＲＬとして含まれるリクエストがＷｅｂブラウザ２から中継装置３へ送信される。
【００３８】
一方、中継装置３を介さずにＷｅｂブラウザ２からＷｅｂサーバ４へリクエストが送信される場合には、このような問題は発生しない。これは、リンク元ＵＲＬにおいて、Ｗｅｂサーバ４のドメイン名がパス部ではなくドメイン部に含まれているためである。
【００３９】
例えば、リンク元ＵＲＬが「http://domain1/A.html」であり、リンク先ＵＲＬが相対パス「../B.html」とする。この場合、ＨＴＭＬファイル「B.html」は、ＨＴＭＬファイル「A.html」よりも一つ階層が上位にあることになる。しかし、ＨＴＭＬファイル「A.html」がパス部の最上位階層にあり、パス部にはＨＴＭＬファイル「A.html」よりも上位階層はない。そのため、Ｗｅｂブラウザ２は、ＨＴＭＬファイル「B.html」がパス部の最上位階層にあるとみなし、図５に示すように、リンク先の相対パス「../B.html」を、正しい絶対パス「http://domain1/B.html」へ変換する。
【００４０】
このように、存在しない上位階層を示す相対パスがリンク先ＵＲＬとして記述されている場合、中継装置３の介在により、Ｗｅｂブラウザ２からのリクエストがＷｅｂサーバ４で受信できない現象が発生する。
【００４１】
そこで、実施例１に係る中継装置３では、存在しない上位階層を示す相対パスがリンク先ＵＲＬとして記述された場合であっても、ＵＲＬ補完処理を行うことにより、この相対パスに基づくリクエストをＷｅｂサーバ４へ中継装置３を介して送信可能にしている。以下、中継装置３の構成及び処理の流れの説明において、具体的に説明する。
【００４２】
［中継装置の構成］
次に、図６を用いて、実施例１に係る中継装置３の構成を説明する。図６は、実施例１に係る中継装置３の構成を示すブロック図である。また、図７は、実施例１に係る中継装置の挿入部１４の処理を説明する図である。また、図８は、実施例１に係る中継装置の応答部１５から送信されるレスポンスを説明する図である。
【００４３】
図６に示すように、中継装置３は、判定部１１、変換部１２、抽出部１３、挿入部１４、応答部１５を備える。以下にこれらの各部の処理を説明する。
【００４４】
判定部１１は、Ｗｅｂブラウザ２からリクエストを受信すると、受信したリクエストに含まれるリクエストＵＲＬが予め設定したＵＲＬ変換ルールに基づくフォーマット（以下、「ＵＲＬ変換フォーマット」とする）に適合するか否かを判定する。具体的には、判定部１１は、リクエストＵＲＬのパス部の最上位階層にプロトコル名とＷｅｂサーバ４のドメイン名とが含まれているときに、ＵＲＬ変換フォーマットに適合すると判定する。
【００４５】
例えば、リクエストＵＲＬが「http://server/http:domain1/A.html」である場合、パス部の最上位階層に、プロトコル名「http」及びＷｅｂサーバ４のドメイン名「domain1」が含まれている。そのため、判定部１１は、ＵＲＬ「http://server/http:domain1/A.html」はＵＲＬ変換フォーマットに適合すると判定する。
【００４６】
判定部１１は、リクエストＵＲＬがＵＲＬ変換フォーマットに適合すると判定すると、Ｗｅｂブラウザ２から受信したリクエストを変換部１２に渡す。一方、リクエストＵＲＬがＵＲＬ変換フォーマットに適合しないと判定すると、判定部１１は、Ｗｅｂブラウザ２から受信したリクエストからリクエストＵＲＬとRefererヘッダを抽出する。そして、判定部１１は、抽出したリクエストＵＲＬとRefererヘッダを抽出部１３に渡す。
【００４７】
Refererヘッダは、リクエストのヘッダメッセージに含まれる情報であり、リンク元ＵＲＬが記述されている。リンク元ＵＲＬは、リンク元の資源識別子の一例である。すなわち、リンク元ＵＲＬとは、リクエストＵＲＬのリンク元となるＵＲＬである。例えば、ＵＲＬが「http://server/http:domain1/A.html」であるＨＴＭＬファイル「A.html」内に、リンク先ＵＲＬとして「http://server/http:domain1/B.html」が記述されているとする。この場合、リクエストＵＲＬは、「http://server/http:domain1/B.html」であり、リンク元ＵＲＬは、「http://server/http:domain1/A.html」である。
【００４８】
変換部１２は、判定部１１から受け取ったリクエストに含まれる情報のうちリクエストＵＲＬをＷｅｂサーバ４のＵＲＬに書き換える。具体的には、変換部１２は、リクエストＵＲＬのパス部の最上位階層の記述に基づいて、リクエストＵＲＬのスキーム部とドメイン部を書き換える。また、変換部１２は、リクエストＵＲＬのパス部の最上位未満の階層に基づいて、リクエストＵＲＬのパス部を書き換える。
【００４９】
例えば、リクエストＵＲＬが「http://server/http:domain1/A.html」であるとする。この場合、変換部１２は、パス部の最上位の階層に記述されている「http:domain1」に基づき、変換後のスキーム部を「http」とし、変換後のドメイン部を「domain1」とする。また、変換部１２は、リクエストＵＲＬのパス部の最上位未満の階層に記述されている「A.html」に基づき、変換後のパス部を「A.html」とする。従って、リクエストＵＲＬは、「http://server/http:domain1/A.html」から「http://domain1/A.html」に書き換えられる。
【００５０】
変換部１２は、このように書き換えたリクエストＵＲＬ「http://domain1/A.html」を含むリクエストをＷｅｂサーバ４にネットワーク５を介して送信する。なお、変換部１２は、Ｗｅｂブラウザ２から受信したリクエストに含まれる情報のうち、リクエスト行に含まれるリクエストＵＲＬを書き換え、メッセージヘッダやメッセージボディなどは書き換えない。
【００５１】
抽出部１３は、判定部１１から受け取ったRefererヘッダに含まれるリンク元ＵＲＬからＷｅｂサーバ４のドメイン名を抽出する。具体的には、抽出部１３は、リンク元ＵＲＬのパス部の記述のうち最上位階層の「：」の後ろにある記述をＷｅｂサーバ４のドメイン名として抽出する。例えば、リンク元ＵＲＬが「http://server/http:domain1/A.html」である場合、抽出部１３は、最上位階層の記述「http:domain1」のうち、「domain1」をＷｅｂサーバ４のドメイン名として抽出する。また、抽出部１３は、リンク元ＵＲＬのパス部の記述のうち最上位階層の「：」の前にある記述からプロトコル名「http」を抽出する。抽出部１３は、抽出したＷｅｂサーバ４のドメイン名とプロトコル名を挿入部１４に渡す。また、抽出部１３は、判定部１１から受け取ったリクエストＵＲＬを挿入部１４に渡す。
【００５２】
挿入部１４は、抽出部１３によって抽出されたＷｅｂサーバ４のドメイン名とプロトコル名を、リクエストＵＲＬのドメイン部の後ろに挿入する。具体的には、挿入部１４は、「/」を挿入してリクエストＵＲＬのパス部の記述を一つ下層にずらし、パス部の最上位階層にＷｅｂサーバ４のドメイン名とプロトコル名を挿入する。このようにＷｅｂサーバ４のドメイン名とプロトコル名が挿入されたＵＲＬは、挿入部１４から応答部１５に渡される。
【００５３】
例えば、リクエストＵＲＬが「http://server/B.html」であり、抽出部１３によって抽出されたＷｅｂサーバ４のドメイン名が「domain1」であるとする。また、抽出部１３によって抽出されたプロトコル名が「http」であるとする。この場合、挿入部１４は、図７に示すように、リクエストＵＲＬのパス部に記述されている「B.html」を「/B.html」として一つ下層にずらす。さらに、挿入部１４は、最上位階層にプロトコル名「http」及びＷｅｂサーバ４のドメイン名「domain1」を挿入する。これにより、リクエストＵＲＬが「http://server/B.html」から「http://server/http:domain1/B.html」へ変換される。なお、プロトコル名「http」とＷｅｂサーバ４のドメイン名「domain1」とはコロン「：」で区切られる。
【００５４】
応答部１５は、挿入部１４から受け取ったＵＲＬを含むレスポンスを生成し、このレスポンスをＷｅｂブラウザ２に送信する。このレスポンスは、挿入部１４により挿入処理が行われたＵＲＬに対するリダイレクト処理をＷｅｂブラウザ２に要求するレスポンスである。例えば、挿入部１４により挿入処理が行われたＵＲＬが「http://server/ http:domain1/B.html」であるとする。この場合、応答部１５は、図８に示すように、「301 Moved Permanently」と「Location：http://server/ http:domain1/B.html」を含むレスポンスを生成して、Ｗｅｂブラウザ２に送信する。「301 Moved Permanently」は、ステータス行のステータスコードとしてレスポンスに含まれる。また、「Location：http://server/ http:domain1/B.html」は、ヘッダメッセージとしてレスポンスに含まれる。Ｗｅｂブラウザ２は、応答部１５からのレスポンスを受信すると、「http://server/ http:domain1/B.html」をリクエストＵＲＬとしたリクエストを中継装置３へ送信するリダイレクト処理を行う。
【００５５】
［中継装置による処理］
次に、図９〜１１を用いて、実施例１に係る中継装置３による処理を説明する。図９〜図１１は、実施例１に係る中継装置３の処理の流れを示すシーケンス図である。
【００５６】
まず、図９を参照して、中継装置３を介してＷｅｂブラウザ２がＨＴＭＬファイル「A.html」を取得する処理の流れについて説明する。ＵＲＬ「http://server/http:domain1/A.html」がリクエスト対象として指定された場合、Ｗｅｂブラウザ２は、リクエストＵＲＬとして「http://server/http:domain1/A.html」を含むリクエストを送信する。このリクエストＵＲＬのドメイン部には中継装置３のドメイン名が記述されているため、Ｗｅｂブラウザ２は、このリクエストを中継装置３へ送信する（ステップＳ１）。
【００５７】
中継装置３の判定部１１は、Ｗｅｂブラウザ２からリクエストを受信すると、受信したリクエストに含まれるリクエストＵＲＬがＵＲＬ変換フォーマットに適合するか否かを判定する（ステップＳ２）。リクエストＵＲＬ「http://server/http:domain1/A.html」のパス部の最上位階層にはプロトコル名「http」とＷｅｂサーバ４のドメイン名「domain1」が含まれる。従って、判定部１１は、リクエストＵＲＬがＵＲＬ変換フォーマットに適合すると判定する。リクエストＵＲＬがＵＲＬ変換フォーマットに適合するとき、判定部１１は、Ｗｅｂブラウザ２から受信したリクエストを変換部１２に渡す。
【００５８】
変換部１２は、ＵＲＬを変換する。すなわち、変換部１２は、判定部１１から受け取ったリクエストに含まれる情報のうちリクエストＵＲＬを、Ｗｅｂサーバ４のＵＲＬに書き換える（ステップＳ３）。リクエストＵＲＬのパス部の最上位階層には「http:domain1」と記述されているため、変換部１２は、「http:domain1」のうち「：」よりも後ろの「domain1」をＷｅｂサーバ４のドメイン名として特定する。また、変換部１２は、「http:domain1」のうち「：」より前の「http」をプロトコル名として特定する。また、リクエストＵＲＬのパス部の最上位階層未満の階層は「A.html」と記述されているため、変換部１２は、「A.html」をＷｅｂサーバ４におけるリソースのパス名として特定する。
【００５９】
このように特定したプロトコル名、ドメイン名及びパス名に基づき、変換部１２は、リクエストＵＲＬを「http://server/http:domain1/A.html」から「http://domain1/A.html」に書き換える。なお、変換部１２は、上位プロキシが設定されてない場合、リクエストＵＲＬを相対パスの記述である「A.html」とする。
【００６０】
変換部１２は、このようにリクエストＵＲＬを書き換えたリクエストを送信する。このリクエストＵＲＬ「http://domain1/A.html」のドメイン部にはＷｅｂサーバ４のドメイン名が記述されているため、変換部１２は、このリクエストを中継装置３へ送信する（ステップＳ４）。
【００６１】
Ｗｅｂサーバ４は、中継装置３からリクエストを受信すると、受信したリクエストに含まれるリクエストＵＲＬで指定されたリソースを読み出す。その後、Ｗｅｂサーバ４は、読み出したリソースを含むレスポンスを送信する。ここでは、リクエストＵＲＬが「http://domain1/A.html」であるため、Ｗｅｂサーバ４は、最上位階層のディレクトリに格納しているＨＴＭＬファイル「A.html」を読み出す。その後、Ｗｅｂサーバ４は、ＨＴＭＬファイル「A.html」の記述をメッセージボディに含むレスポンスを、リクエストの送信元である中継装置３へ送信する（ステップＳ５）。
【００６２】
中継装置３は、ステップＳ４において送信したリクエストに対するレスポンスをＷｅｂサーバ４から受信すると、受信したレスポンスをＷｅｂブラウザ２へ転送する。これにより、Ｗｅｂブラウザ２は、ＨＴＭＬファイル「A.html」の記述をメッセージボディに含むレスポンスを中継装置３を介してＷｅｂサーバ４から取得する。
【００６３】
次に、図１０を参照して、ＨＴＭＬファイル「A.html」内に記述されたリンク先ＵＲＬにＷｅｂブラウザ２からアクセスする処理の流れについて説明する。このリンク先ＵＲＬは、図１０に示すように、アンカータグのhref属性値の値であり、存在しない上位階層を示す相対パス「../B.html」で記述されているとする。
【００６４】
Ｗｅｂブラウザ２は、リンク先ＵＲＬ「http://server/http:domain1/A.html」に基づいて、相対パス「../B.html」で記述されたリンク先ＵＲＬを、絶対パスで記述されるＵＲＬへ変換する。Ｗｅｂブラウザ２による変換後のＵＲＬは、「http://server/B.html」となる。ＨＴＭＬファイル「B.html」の正しいＵＲＬの絶対パスは、「http:// server/http:domain1/B.html」である。従って、Ｗｅｂブラウザ２は、リンク先ＵＲＬを誤ったＵＲＬに変換している。
【００６５】
Ｗｅｂブラウザ２は、このように変換したＵＲＬをリクエストＵＲＬとして含ませたリクエストを生成する。Ｗｅｂブラウザ２により生成されたリクエストには、Refererヘッダとして、リンク元ＵＲＬ「http://server/http:domain1/A.html」が含まれる。
【００６６】
次に、Ｗｅｂブラウザ２は、生成したリクエストを送信する。リクエストＵＲＬのドメイン部には中継装置３のドメイン名が記述されているため、Ｗｅｂブラウザ２は、このリクエストを中継装置３へ送信する（ステップＳ６）。
【００６７】
中継装置３の判定部１１は、Ｗｅｂブラウザ２からリクエストを受信すると、受信したリクエストに含まれるリクエストＵＲＬがＵＲＬ変換フォーマットに適合するか否かを判定する（ステップＳ７）。リクエストＵＲＬ「http://server/B.html」のパス部にはプロトコル名やＷｅｂサーバ４のドメイン名が含まれていない。従って、判定部１１は、リクエストＵＲＬがＵＲＬ変換フォーマットに適合しないと判定する。リクエストＵＲＬがＵＲＬ変換フォーマットに適合しないとき、判定部１１は、Ｗｅｂブラウザ２から受信したリクエストに含まれるリクエストＵＲＬとRefererヘッダとを抽出部１３に渡す。
【００６８】
抽出部１３は、判定部１１から受け取ったRefererヘッダからＷｅｂサーバ４のドメイン名を抽出する（ステップＳ８）。具体的には、抽出部１３は、Refererヘッダに含まれるリンク元ＵＲＬのパス部のうち最上位階層の記述のうち「：」の後ろにある記述「domain1」をＷｅｂサーバ４のドメイン名として抽出する。また、抽出部１３は、最上位階層の記述のうち「：」の前にある記述「http」をプロトコル名として抽出する。抽出部１３は、抽出したＷｅｂサーバ４のドメイン名及びプロトコル名を挿入部１４に渡す。また、抽出部１３は、判定部１１から受け取ったリクエストＵＲＬを挿入部１４に渡す。
【００６９】
挿入部１４は、抽出部１３によって抽出されたプロトコル名「http」とＷｅｂサーバ４のドメイン名「domain1」を、リクエストＵＲＬのドメイン部の後ろに挿入する（ステップＳ９）。具体的には、挿入部１４は、リクエストＵＲＬのパス部の記述「B.html」を「/B.html」として最上位階層より一つ下層にずらし、最上位階層にプロトコル名「http」とＷｅｂサーバ４のドメイン名「domain1」を挿入する。これにより、リクエストＵＲＬが「http://server/B.html」から「http://server/ http:domain1/B.html」へ変換される。なお、プロトコル名「http」とＷｅｂサーバ４のドメイン名「domain1」とはコロン「：」で区切られる。
【００７０】
応答部１５は、挿入部１４により挿入処理が行われたリクエストＵＲＬに対するリダイレクト処理をＷｅｂブラウザ２に要求するレスポンスを生成し、生成したレスポンスをＷｅｂブラウザ２に送信する（ステップＳ１０）。このレスポンスには、図８に示すように、ステータス行のステータスコードとして「301 Moved Permanently」を含み、ヘッダメッセージに「Location：http://server/ http:domain1/B.html」を含む。
【００７１】
次に、図１１を参照して、ステップＳ１０において中継装置３からＷｅｂブラウザ２へ送信されたレスポンスに対する処理の流れについて説明する。
【００７２】
Ｗｅｂブラウザ２は、中継装置３からのレスポンスを受信すると、中継装置３により補完処理されたリクエストＵＲＬを含むリクエストを中継装置３へ送信するリダイレクト処理を行う。具体的には、Ｗｅｂブラウザ２は、Locationヘッダに基づき、リダイレクト処理の対象となるリクエストＵＲＬを「http://server/http:domain1/B.html」と特定する。Locationヘッダは、中継装置３からのレスポンスのヘッダメッセージに含まれるヘッダである。Ｗｅｂブラウザ２は、このように特定したリクエストＵＲＬを含むリクエストを送信する（ステップＳ１１）。リクエストＵＲＬのドメイン部には中継装置３のドメイン名が記述されているため、Ｗｅｂブラウザ２は、リクエストを中継装置３へ送信する。
【００７３】
中継装置３の判定部１１は、Ｗｅｂブラウザ２からリクエストを受信すると、受信したリクエストに含まれるリクエストＵＲＬがＵＲＬ変換フォーマットに適合するか否かを判定する（ステップＳ１２）。リクエストＵＲＬ「http://server/domain1/B.html」のドメイン部には中継装置３のドメイン名「server」が含まれ、リクエストＵＲＬのパス部の最上位階層にプロトコル名「http」とＷｅｂサーバ４のドメイン名「domain1」が含まれる。従って、判定部１１は、リクエストＵＲＬが所定のフォーマットに適合すると判定する。リクエストＵＲＬが所定のフォーマットに適合するとき、判定部１１は、Ｗｅｂブラウザ２からリクエストを変換部１２に渡す。
【００７４】
変換部１２は、ステップＳ３での処理と同様に、ＵＲＬを変換する。すなわち、変換部１２は、判定部１１から受け取ったリクエストに含まれるリクエストＵＲＬを、Ｗｅｂサーバ４のＵＲＬに書き換える（ステップＳ１３）。リクエストＵＲＬのパス部の最上位階層には「http:domain1」と記述され、パス部の最上位階層未満の階層は「A.html」と記述されている。そのため、変換部１２は、リクエストＵＲＬを「http://server/http:domain1/B.html」から「http://domain1/B.html」に書き換える。
【００７５】
変換部１２は、リクエストＵＲＬを書き換えたリクエストを送信する。このリクエストＵＲＬのドメイン部にはＷｅｂサーバ４のドメイン名が記述されているため、変換部１２は、このリクエストを中継装置３へ送信する（ステップＳ１４）。
【００７６】
Ｗｅｂサーバ４は、中継装置３からリクエストを受信する。受信したリクエストに含まれるリクエストＵＲＬが「http://domain1/B.html」であるため、Ｗｅｂサーバ４は、最上位階層のディレクトリに格納しているＨＴＭＬファイル「B.html」を読み出す。その後、Ｗｅｂサーバ４は、ＨＴＭＬファイル「B.html」の記述をメッセージボディに含むレスポンスを、リクエストの送信元である中継装置３へ送信する（ステップＳ１５）。
【００７７】
中継装置３は、ステップＳ１１において送信したリクエストに対するレスポンスをＷｅｂサーバ４から受信すると、受信したレスポンスをＷｅｂブラウザ２へ転送する。これにより、Ｗｅｂブラウザは、ＨＴＭＬファイル「B.html」の記述をメッセージボディに含むレスポンスを中継装置３を介してＷｅｂサーバ４から取得する。
【００７８】
[実施例１の効果]
上述してきたように、中継装置３は、Ｗｅｂブラウザ２から受信したリクエストに含まれるリクエストＵＲＬが所定のフォーマットに適合するか否かを判定する。リクエストＵＲＬが所定のフォーマットに適合しないとき、中継装置３は、リクエストに含まれるリンク元ＵＲＬからＷｅｂサーバ４のドメイン名を抽出する。中継装置３は、抽出したＷｅｂサーバ４のドメイン名を、リクエストＵＲＬのドメイン部の後ろに挿入する。これにより、リクエストＵＲＬを正しいＵＲＬに補完することができる。
【００７９】
また、中継装置３は、リダイレクト処理を要求するレスポンスをＷｅｂブラウザ２に送信する。このレスポンスは、挿入処理により補完されたリクエストＵＲＬに対するリダイレクト処理をＷｅｂブラウザ２に要求するレスポンスである。Ｗｅｂブラウザ２は、受信したレスポンスに基づいて、リダイレクト処理を行うことで、Ｗｅｂサーバ４からリソースを取得することができる。このように、中継装置３は、存在しない上位階層を示す相対パスに基づくリクエストがＷｅｂブラウザ２から送信された場合であっても、Ｗｅｂブラウザ２に正しい絶対パスでのリクエストを送信させることができる。
【実施例２】
【００８０】
上述の実施例１では、リクエストＵＲＬがＵＲＬ変換フォーマットに適合しない場合、RefererヘッダからＷｅｂサーバ４のドメイン名を抽出して、リクエストＵＲＬを補完することとした。しかし、Ｗｅｂブラウザ２から送信されるリクエストにRefererヘッダが含まれない場合がある。
【００８１】
そこで、本実施例２の中継装置では、Ｗｅｂブラウザ２から受信したリクエストの履歴である通信ログを参照することで、Refererヘッダが取得できない場合であっても、リクエストＵＲＬを補完可能としている。以下、実施例２の中継装置の構成及び処理の流れについて具体的に説明する。
【００８２】
［中継装置の構成］
次に、図１２〜図１４を用いて、実施例２に係る中継装置３Ａの構成を説明する。図１２は、実施例２に係る中継装置３Ａの構成を示すブロック図である。図１１は、実施例２に係る中継装置３Ａの記憶部１６Ａに記憶される通信ログの例を示す図である。図１２は、実施例２に係る中継装置３Ａの判定部１１Ａの処理を説明する図である。
【００８３】
図１２に示すように、実施例２に係る中継装置３Ａは、判定部１１Ａ、変換部１２Ａ、抽出部１３Ａ、挿入部１４Ａ、応答部１５Ａ、記憶部１６Ａを備える。以下にこれらの各部の処理を説明する。
【００８４】
判定部１１Ａは、Ｗｅｂブラウザ２から受信したリクエストの履歴を通信ログとして記憶部１６Ａに記憶する。図１３に記憶部１６Ａに記憶される通信ログの一例を示す。図１３に示すように、記憶部１６Ａには、リクエストＵＲＬ及びリクエストの内容が日付互いに関連付けられた情報が、Ｗｅｂブラウザ２から受信したリクエスト毎に、通信ログとして記憶される。なお、リクエストの内容には、リクエスト行及びヘッダメッセージの情報が含まれる。
【００８５】
図１４に、判定部１１Ａによる処理の手順を示す図を示す。図１４に示すように、判定部１１Ａは、Ｗｅｂブラウザ２からリクエストを受信したか否かを判定する（ステップＳ２０）。Ｗｅｂブラウザ２からリクエストを受信していないと判定すると（ステップＳ２０否定）、判定部１１Ａは、処理をステップＳ２０に戻す。一方、Ｗｅｂブラウザ２からリクエストを受信したと判定すると（ステップＳ２０肯定）、判定部１１Ａは、受信したリクエストの情報を通信ログとして記憶部１６Ａに記憶する（ステップＳ２１）。
【００８６】
次に、判定部１１Ａは、Ｗｅｂブラウザ２から受信したリクエストに含まれるリクエストＵＲＬがＵＲＬ変換フォーマットに適合するか否かを判定する（ステップＳ２２）。この処理は、実施例１の判定部１１と同様の処理である。
【００８７】
リクエストＵＲＬがＵＲＬ変換フォーマットに適合していると判定すると（ステップＳ２２肯定）、判定部１１Ａは、変換部１２Ａにリクエストを渡す（ステップＳ２３）。一方、リクエストＵＲＬがＵＲＬ変換フォーマットに適合していないと判定すると（ステップＳ２２否定）、判定部１１Ａは、Ｗｅｂブラウザから受信したリクエストにRefererヘッダが含まれているか否かを判定する（ステップＳ２４）。
【００８８】
リクエストにRefererヘッダが含まれていると判定すると（ステップＳ２４肯定）、判定部１１Ａは、リクエストＵＲＬとリンク元ＵＲＬとを抽出部１３Ａに渡す（ステップＳ２５）。抽出部１３Ａに渡されるリクエストＵＲＬは、ステップＳ２０で受信されたリクエストに含まれるリクエストＵＲＬである。また、抽出部１３Ａに渡されるリンク元ＵＲＬは、Refererヘッダに含まれる情報である。一方、リクエストにRefererヘッダが含まれていないと判定すると（ステップＳ２４否定）、判定部１１Ａは、通信ログＵＲＬを記憶部１６Ａから読み出す（ステップＳ２６）。通信ログＵＲＬとは、ＵＲＬ変換フォーマットに沿ったリクエストＵＲＬのうち記憶部１６Ａに記憶された日付が最も新しいリクエストＵＲＬである。例えば、図１３に示すような通信ログが記憶部１６Ａに記憶されているとき、通信ログＵＲＬとして判定部１１Ａにより読み出されるリクエストＵＲＬは、「http://server/http:domain1/E.html」である。
【００８９】
ステップＳ２６の処理が終了すると、判定部１１Ａは、リクエストＵＲＬと記憶部１６Ａから読み出した通信ログＵＲＬとを、抽出部１３Ａに渡す（ステップＳ２７）。抽出部１３Ａに渡されるリクエストＵＲＬは、ステップＳ２０で受信されたリクエストに含まれるリクエストＵＲＬである。ステップＳ２３，Ｓ２５，Ｓ２７の処理が終了すると、判定部１１Ａは、処理をステップＳ２０に戻す。
【００９０】
変換部１２Ａは、実施例１の変換部１２と同様の処理を行う。すなわち、変換部１２Ａは、判定部１１Ａから受け取ったリクエストに含まれる情報のうちリクエストＵＲＬを、Ｗｅｂサーバ４のＵＲＬに書き換える。変換部１２は、このように書き換えたリクエストＵＲＬを含むリクエストをＷｅｂサーバ４にネットワーク５を介して送信する。
【００９１】
抽出部１３Ａは、実施例１の抽出部１３の処理と同様に、判定部１１ＡからリクエストＵＲＬとRefererヘッダを受け取った場合、Refererヘッダからプロトコル名とＷｅｂサーバ４のドメイン名を抽出する。さらに、抽出部１３は、実施例１の抽出部１３の処理と同様に、リクエストＵＲＬと抽出したプロトコル名とＷｅｂサーバ４のドメイン名とを挿入部１４に渡す。
【００９２】
一方、判定部１１からリクエストＵＲＬと通信ログＵＲＬとを受け取った場合、抽出部１３Ａは、通信ログＵＲＬからＷｅｂサーバ４のドメイン名を抽出する。具体的には、抽出部１３Ａは、通信ログＵＲＬのパス部のうち最上位階層の記述のうち「：」の後ろにある記述をＷｅｂサーバ４のドメイン名として抽出する。例えば、通信ログＵＲＬが「http://server/http:domain1/A.html」である場合、抽出部１３Ａは、最上位階層の記述「http:domain1」のうち、「domain1」をＷｅｂサーバ４のドメイン名として抽出する。また、抽出部１３Ａは、最上位階層の記述のうち「：」の前にある記述をプロトコル名として抽出する。例えば、通信ログＵＲＬが「http://server/http:domain1/A.html」である場合、抽出部１３Ａは、「http」をプロトコル名として抽出する。抽出部１３Ａは、抽出したＷｅｂサーバ４のドメイン名とプロトコル名を挿入部１４に渡す。また、抽出部１３Ａは、判定部１１Ａから受け取ったリクエストＵＲＬを挿入部１４Ａに渡す。
【００９３】
挿入部１４Ａは、実施例１の挿入部１４の処理と同様に、抽出部１３Ａによって抽出されたＷｅｂサーバ４のドメイン名とプロトコル名を、リクエストＵＲＬのドメイン部の後ろに挿入する。
【００９４】
応答部１５Ａは、実施例１の応答部１５と同様に、挿入部１４Ａにより挿入処理が行われたリクエストＵＲＬに対するリダイレクト処理をＷｅｂブラウザ２に要求するレスポンスをＷｅｂブラウザ２に送信する。
【００９５】
［中継装置による処理］
次に、図１５及び図１６を用いて、実施例２に係る中継装置３Ａによる処理を説明する。図１５及び図１６は、実施例２に係る中継装置３Ａの処理の流れを示すシーケンス図である。
【００９６】
まず、図１５を参照して、中継装置３Ａを介してＷｅｂブラウザ２がＨＴＭＬファイル「A.html」を取得する処理の流れについて説明する。なお、図１５に示すステップＳ３０，Ｓ３１，Ｓ３３〜Ｓ３５の処理は、図９に示す実施例１のステップＳ１〜Ｓ５と同様の処理である。
【００９７】
図１５に示すように、ＵＲＬ「http://server/http:domain1/D.html」がリクエスト対象として指定された場合、Ｗｅｂブラウザ２は、リクエストを中継装置３Ａへ送信する（ステップＳ３０）。このリクエストは、リクエストＵＲＬとして「http://server/http:domain1/D.html」を含む。
【００９８】
中継装置３Ａの判定部１１Ａは、Ｗｅｂブラウザ２からリクエストを受信すると、受信したリクエストに含まれるリクエストＵＲＬがＵＲＬ変換フォーマットに適合するか否かを判定する（ステップＳ３１）。リクエストＵＲＬがＵＲＬ変換フォーマットに適合するとき、判定部１１Ａは、Ｗｅｂブラウザ２からリクエストを変換部１２Ａに渡す。
【００９９】
また、判定部１１Ａは、Ｗｅｂブラウザ２からリクエストを受信すると、受信したリクエストの情報を通信ログとして記憶部１６Ａに記憶する（ステップＳ３２）。通信ログは、図１３に示すように、受信したリクエストを受信した日時、受信したリクエストに含まれるリクエストＵＲＬ及びリクエストの内容が互いに関連付けられた情報である。
【０１００】
変換部１２Ａは、ＵＲＬを変換する。すなわち、変換部１２Ａは、判定部１１Ａから受け取ったリクエストに含まれる情報のうちリクエストＵＲＬをＷｅｂサーバ４のＵＲＬに書き換える（ステップＳ３３）。変換部１２Ａは、リクエストＵＲＬを書き換えたリクエストを中継装置３Ａへ送信する（ステップＳ３４）。
【０１０１】
Ｗｅｂサーバ４は、中継装置３Ａからリクエストを受信すると、受信したリクエストに含まれるリクエストＵＲＬで指定されたＨＴＭＬファイル「D.html」を読み出す。その後、Ｗｅｂサーバ４は、読み出したＨＴＭＬファイル「D.html」の記述を含むレスポンスを中継装置３Ａへ送信する（ステップＳ３５）。
【０１０２】
中継装置３Ａは、ステップＳ３５において送信したリクエストに対するレスポンスをＷｅｂサーバ４から受信すると、受信したレスポンスをＷｅｂブラウザ２へ転送する。これにより、Ｗｅｂブラウザは、ＨＴＭＬファイル「D.html」の記述をメッセージボディに含むレスポンスを中継装置３Ａを介してＷｅｂサーバ４から取得する。
【０１０３】
次に、図１６を参照して、ＨＴＭＬファイル「D.html」内に記述されたリンク先ＵＲＬにＷｅｂブラウザ２からアクセスする処理の流れについて説明する。なお、図１６に示すＳ３９，Ｓ４０の処理は、図１０に示す実施例１のステップＳ９，Ｓ１０と同様の処理である。
【０１０４】
図１６に示すように、ＨＴＭＬファイル「D.html」内に、リフレッシュ・メタタグ（refresh meta tag）が記述されているとする。この場合、Ｗｅｂブラウザ２は、このリフレッシュ・メタタグに規定されたリンク先ＵＲＬをリクエストＵＲＬとしてリクエストを送信する（ステップＳ３６）。図１６に示すリフレッシュ・メタタグには、相対パスで記述されたＵＲＬ「../E.html」がリンク先ＵＲＬとして規定され、待ち時間が０秒として規定されている。従って、Ｗｅｂブラウザ２は、リクエストＵＲＬとして「http://server/E.html」を含むリクエストを中継装置３へ送信する。なお、待ち時間とは、ＨＴＭＬファイル「D.html」を取得してから、リンク先ＵＲＬをリクエストＵＲＬに含むリクエストを送信する処理を行うまでの待ち時間である。
【０１０５】
中継装置３Ａの判定部１１Ａは、Ｗｅｂブラウザ２からリクエストを受信すると、受信したリクエストに含まれるリクエストＵＲＬがＵＲＬ変換フォーマットに適合するか否かを判定する（ステップＳ３７）。リクエストＵＲＬ「http://server/E.html」のパス部にはＷｅｂサーバ４のドメイン名「domain1」が含まれていない。従って、判定部１１Ａは、リクエストＵＲＬがＵＲＬ変換フォーマットに適合しないと判定する。
【０１０６】
リクエストＵＲＬがＵＲＬ変換フォーマットに適合しないとき、判定部１１Ａは、記憶部１６Ａから通信ログＵＲＬを読み出す。判定部１１Ａは、読み出した通信ログＵＲＬと受信したリクエストのリクエストＵＲＬとを抽出部１３Ａに渡す。通信ログＵＲＬとは、ＵＲＬ変換フォーマットに沿ったリクエストＵＲＬのうち記憶部１６Ａに記憶された日付が最も新しいリクエストＵＲＬである。ここでは、図１３に示すような通信ログが記憶部１６Ａに記憶されているとする。従って、判定部１１Ａにより通信ログＵＲＬとして記憶部１６Ａから読み出されるリクエストＵＲＬは、「http://server/http:domain1/D.html」である。
【０１０７】
抽出部１３Ａは、判定部１１Ａから受け取った通信ログＵＲＬからＷｅｂサーバ４のドメイン名を抽出する（ステップＳ３８）。具体的には、抽出部１３Ａは、通信ログＵＲＬのパス部のうち最上位階層の記述のうち「：」の後ろにある記述「domain1」をＷｅｂサーバ４のドメイン名として抽出する。また、抽出部１３Ａは、最上位階層の記述のうち「：」の前にある記述「http」をプロトコル名として抽出する。抽出部１３Ａは、抽出したプロトコル名及びＷｅｂサーバ４のドメイン名を挿入部１４Ａに渡す。また、抽出部１３Ａは、判定部１１Ａから受け取ったリクエストＵＲＬを挿入部１４Ａに渡す。
【０１０８】
挿入部１４Ａは、実施例１の挿入部１４Ａと同様に、抽出部１３Ａによって抽出されたプロトコル名「http」とＷｅｂサーバ４のドメイン名「domain1」を、リクエストＵＲＬのドメイン部の後ろに挿入する（ステップＳ３９）。これにより、リクエストＵＲＬが「http://server/E.html」から「http://server/ http:domain1/E.html」へ変換される。
【０１０９】
応答部１５Ａは、挿入処理により補完されたリクエストＵＲＬに対するリダイレクト処理をＷｅｂブラウザ２に要求するレスポンスをＷｅｂブラウザ２に送信する（ステップＳ４０）。このレスポンスには、ステータス行のステータスコードとして「301 Moved Permanently」が含まれ、さらに、ヘッダメッセージに「Location：http://server/ http:domain1/E.html」が含まれる。
【０１１０】
Ｗｅｂブラウザ２は、中継装置３からのレスポンスを受信すると、中継装置３により補完されたリクエストＵＲＬ「http://server/ http:domain1/E.html」を含むリクエストを中継装置３へ送信する。これにより、Ｗｅｂブラウザ２は、ＨＴＭＬファイル「E.html」をＷｅｂサーバ４から取得することが可能となる。
【０１１１】
このように、中継装置３Ａは、Ｗｅｂブラウザ２から受信したリクエストの情報を通信ログとして記憶する記憶部１６Ａを備えている。そして、中継装置３Ａは、Refererヘッダがリクエストに含まれていないとき、記憶部１６Ａに記憶されたリクエストＵＲＬからＷｅｂサーバ４のドメイン名を抽出する。そのため、この中継装置３Ａでは、Refererヘッダが含まれないリクエスト場合であっても、Ｗｅｂブラウザ２に正しい絶対パスでのリクエストを再送信させることができる。      
【実施例３】
【０１１２】
上述の実施例１，２では、中継装置において、誤ったリクエストＵＲＬを補完して正しいリクエストＵＲＬに変換し、Ｗｅｂブラウザに正しいリクエストＵＲＬにリダイレクト処理をさせる。
【０１１３】
一方、実施例３の中継装置では、Ｗｅｂブラウザにリダイレクト処理を行うことに代えて、中継装置においてリクエストを変換して直接Ｗｅｂサーバへリクエストを送信する。このようにすることで、リダイレクト処理にかかる時間を省くことができ、Ｗｅｂサーバからリソースを迅速に取得することができる。以下、実施例３の中継装置の構成及び処理の流れについて具体的に説明する。
【０１１４】
［中継装置の構成］
次に、図１７を用いて、実施例３に係る中継装置３Ｂの構成を説明する。図１７は、実施例３に係る中継装置３Ｂの構成を示すブロック図である。
【０１１５】
図１７に示すように、実施例３に係る中継装置３Ｂは、判定部１１Ｂ、変換部１２Ｂ、抽出部１３Ｂ、挿入部１４Ｂ、記憶部１６Ｂを備える。以下にこれらの各部の処理を説明する。
【０１１６】
判定部１１Ｂは、実施例２の判定部１１Ａの処理に加え、さらに、挿入部１４ＢにＷｅｂブラウザ２から受信したリクエストを渡す処理を行う。抽出部１３Ｂは、実施例２の抽出部１３Ｂと同様の処理を行う。
【０１１７】
変換部１２Ｂは、実施例２の変換部１２Ｂの処理に加え、さらに、挿入部１４Ｂから受け取ったリクエストを変換する。すなわち、変換部１２Ｂは、判定部１１Ｂから受け取ったリクエストの変換に加え、挿入部１４Ｂから受け取ったリクエストの変換も行う。リクエストの変換は、リクエストＵＲＬをＷｅｂサーバ４のＵＲＬに置き換えることによって行う。なお、挿入部１４Ｂから受け取ったリクエストに対する変換は、判定部１１Ｂから受け取ったリクエストに対する変換と同様の処理で行う。変換部１２Ｂは、このように、変換したリクエストをＷｅｂサーバ４へ送信する。
【０１１８】
挿入部１４Ｂは、実施例２の挿入部１４Ａの処理に加え、変換したリクエストＵＲＬを含むリクエストを生成する。具体的には、挿入部１４Ｂは、判定部１１Ｂから受け取ったリクエストに含まれる情報のうちリクエストＵＲＬを、変換したリクエストＵＲＬに置き換える。挿入部１４Ｂは、このようにリクエストＵＲＬを置き換えたリクエストを変換部１２Ｂに渡す。
【０１１９】
［中継装置による処理］
次に、図１８を用いて、実施例３に係る中継装置３Ｂによる処理を説明する。図１８は、実施例３に係る中継装置３Ｂの処理の流れを示すシーケンス図である。なお、図１８に示すＳ６０〜Ｓ６３の処理は、図１６に示す実施例２のステップＳ３６〜Ｓ３９と同様の処理である。
【０１２０】
図１８では、ＨＴＭＬファイル「D.html」内に記述されたリンク先ＵＲＬにＷｅｂブラウザ２からアクセスする処理の流れについて説明する。図１８に示すように、ＨＴＭＬファイル「D.html」内に、リフレッシュ・メタタグ（refresh meta tag）が記述されているとする。Ｗｅｂブラウザ２は、このメタタグに規定されたリンク先ＵＲＬを相対パスによる記述から絶対パスによる記述へ変換する。その後、Ｗｅｂブラウザ２は、このように変換したリクエストＵＲＬ「http://server/E.html」を含むリクエストを送信する（ステップＳ６０）。
【０１２１】
中継装置３Ｂの判定部１１Ｂは、Ｗｅｂブラウザ２からリクエストを受信すると、受信したリクエストに含まれるリクエストＵＲＬがＵＲＬ変換フォーマットに適合するか否かを判定する（ステップＳ６１）。リクエストＵＲＬ「http://server/E.html」のパス部にはＷｅｂサーバ４のドメイン名「domain1」が含まれていない。従って、判定部１１Ｂは、リクエストＵＲＬがＵＲＬ変換フォーマットに適合しないと判定する。次に、判定部１１Ｂは、記憶部１６Ｂから通信ログＵＲＬとして「http://server/http:domain1/D.html」を読み出す。判定部１１Ｂは、読み出した通信ログＵＲＬとリクエストＵＲＬとを抽出部１３Ｂに渡す。
【０１２２】
抽出部１３Ｂは、判定部１１Ｂから受け取った通信ログＵＲＬからプロトコル名とＷｅｂサーバ４のドメイン名を抽出する（ステップＳ６２）。ここで抽出されるドメイン名は「domain1」であり、プロトコル名は「http」である。抽出部１３Ｂは、リクエストＵＲＬ、ドメイン名及びプロトコル名を挿入部１４Ｂに渡す。
【０１２３】
挿入部１４Ｂは、抽出部１３Ｂによって抽出されたプロトコル名「http」とＷｅｂサーバ４のドメイン名「domain1」を、リクエストＵＲＬのドメイン部の後ろに挿入する（ステップＳ６３）。これにより、リクエストＵＲＬが「http://server/E.html」から「http://server/ http:domain1/E.html」へ変換される。
【０１２４】
さらに、挿入部１４Ｂは、判定部１１Ｂから受け取ったリクエストに含まれる情報のうちリクエストＵＲＬを、変換したリクエストＵＲＬ「http://server/ http:domain1/E.html」へ置き換える。その後、挿入部１４Ｂは、リクエストＵＲＬを置き換えたリクエストを変換部１２Ｂへ渡す。
【０１２５】
変換部１２Ｂは、ＵＲＬを変換する。すなわち、変換部１２Ｂは、判定部１１Ｂから受け取ったリクエストに含まれる情報のうちリクエストＵＲＬをＷｅｂサーバ４のＵＲＬに書き換える（ステップＳ６４）。リクエストＵＲＬのパス部の最上位階層には「http:domain1」と記述されているため、変換部１２は、「http:domain1」のうち「：」よりも後ろの「domain1」をＷｅｂサーバ４のドメイン名として特定する。また、変換部１２は、「http:domain1」のうち「：」より前の「http」をプロトコル名として特定する。また、リクエストＵＲＬのパス部の最上位階層未満の階層は「A.html」と記述されているため、変換部１２は、「E.html」をＷｅｂサーバ４におけるリソースのパス名として特定する。
【０１２６】
このように特定したプロトコル名、ドメイン名及びパス名に基づき、変換部１２Ｂは、リクエストＵＲＬを「http://server/http:domain1/E.html」から「http://domain1/ E.html」に書き換える。なお、変換部１２Ｂは、上位プロキシが設定されてない場合、リクエストＵＲＬを相対パスの記述である「E.html」とする。
【０１２７】
変換部１２Ｂは、リクエストＵＲＬを書き換えたリクエストを送信する。このリクエストＵＲＬのドメイン部にはＷｅｂサーバ４のドメイン名が記述されているため、変換部１２Ｂは、このリクエストをＷｅｂサーバ４へ送信する（ステップＳ６５）。
【０１２８】
Ｗｅｂサーバ４は、中継装置３からリクエストを受信すると、ＨＴＭＬファイル「E.html」の記述をメッセージボディに含むレスポンスを、リクエストの送信元である中継装置３へ送信する（ステップＳ６６）。中継装置３は、このレスポンスをＷｅｂブラウザ２へ転送する。これにより、Ｗｅｂブラウザ２は、ＨＴＭＬファイル「E.html」を取得する。
【０１２９】
このように、実施例３の中継装置３Ｂでは、存在しない上位階層を示す相対パスに基づくリクエストに含まれるリクエストＵＲＬを補完し、直接Ｗｅｂサーバへ送信する。そのため、リダイレクト処理にかかる時間を省くことができ、Ｗｅｂサーバからリソースを迅速に取得することができる。
【実施例４】
【０１３０】
さて、これまで実施例１〜３について説明したが、上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例４として他の実施例を説明する。 
【０１３１】
（１）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図１９に示すように、端末装置１’にはローカルプロシキとしての中継装置を配置せず、中継装置３Ｃを外部プロキシとすることもできる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。 
【０１３２】
（２）プログラム
図６，１２，１７，１９の中継装置３，３Ａ〜３Ｃの処理をプログラムにより実行する場合、図２０に示すような情報処理装置（コンピュータ）が用いられる。図２０の情報処理装置は、Central Processing Unit（ＣＰＵ）５１、メモリ５２、入力装置５３、出力装置５４、外部記憶装置５５、可搬記憶媒体駆動装置５６、およびネットワーク接続装置５７を有し、これらは互いに接続されている。 
【０１３３】
メモリ５２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）等を含み、処理に用いられるプログラムおよびデータを格納する。ＣＰＵ５１は、メモリ５２を利用してプログラムを実行することにより、中継装置と同様の処理を行う。 
【０１３４】
入力装置５３は、例えば、キーボード、ポインティングデバイス等であり、オペレータからの指示や情報の入力に用いられる。出力装置５４は、例えば、ディスプレイ、プリンタ、スピーカ等であり、オペレータへの問い合わせや処理結果の出力に用いられる。 
【０１３５】
外部記憶装置５５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。情報処理装置は、この外部記憶装置５５に、プログラムおよびデータを格納しておき、必要に応じて、それらをメモリ５２にロードして使用する。 
【０１３６】
可搬記憶媒体駆動装置５６は、可搬記録媒体５８の記録内容にアクセスする。可搬記録媒体５８は、メモリカード、フレキシブルディスク、光ディスク、光磁気ディスク等の任意のコンピュータ読み取り可能な記録媒体である。オペレータは、この可搬記録媒体５８にプログラムおよびデータを格納しておき、必要に応じて、それらをメモリ５２にロードして使用する。 
【０１３７】
ネットワーク接続装置５７は、インターネット等の通信ネットワークに接続され、Ｗｅｂブラウザ２及びＷｅｂサーバ４との通信に伴うデータ変換を行う。情報処理装置に、Ｗｅｂブラウザ２の機能と中継装置３の機能とが搭載される場合、Ｗｅｂブラウザ２と中継装置３との通信はネットワーク接続装置５７を介して行われる。また、情報処理装置は、必要に応じて、プログラムおよびデータを外部の装置からネットワーク接続装置５７を介して受け取り、それらをメモリ５２にロードして使用する。
【０１３８】
（３）その他
実施例１〜３では、ＷｅｂサーバからＨＴＭＬファイルを受信したとき、このＨＴＭＬファイルに含まれるリンク先ＵＲＬをＷｅｂブラウザで変換する。これにより、Ｗｅｂブラウザからのリクエストは中継装置を介してＷｅｂサーバへ送信される。しかし、Ｗｅｂブラウザでリンク先ＵＲＬの変換を行うのではなく、中継装置でリンク先ＵＲＬの変換を行うようにしてもよい。すなわち、Ｗｅｂサーバから送信されるＨＴＭＬファイルを中継装置が受信したとき、受信したＨＴＭＬファイルに含まれるリンク先ＵＲＬを中継装置で変換する。そして、その後、変換後のＨＴＭＬファイルをＷｅｂブラウザへ送信する。
【０１３９】
また、実施例１〜３では、ＵＲＬ変換フォーマットの例として、リクエストＵＲＬのパス部の最上位階層が「プロトコル名：Ｗｅｂサーバのドメイン名）」である例を示した。しかし、ＵＲＬ変換フォーマットはこれに限られない。例えば、リクエストＵＲＬのパス部の最上位階層が「Ｗｅｂサーバのドメイン名：プロトコル名）」や「プロトコル名−Ｗｅｂサーバのドメイン名）」などをＵＲＬ変換フォーマットとしてもよい。
【０１４０】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１４１】
（付記１）ブラウザから受信したリクエストに含まれる資源識別子が所定のフォーマットに適合するか否かを判定する判定部と、
前記資源識別子が所定のフォーマットに適合しないと前記判定部により判定されたとき、前記資源識別子のリンク元である資源識別子に含まれるサーバのドメイン名を前記リクエストから抽出する抽出部と、
前記抽出部によって抽出された前記サーバのドメイン名を、前記リクエストに含まれる資源識別子のドメイン部の後ろに挿入する挿入処理を行う挿入部と、
を備えた中継装置。
【０１４２】
（付記２）前記リクエストに含まれる資源識別子を記憶する記憶部をさらに備え、
前記抽出部は、前記リンク元である資源識別子が前記リクエストに含まれていないとき、前記記憶部に記憶され、かつ前記所定のフォーマットに適合する資源識別子のうち前記記憶部への記憶が最新の資源識別子から前記サーバのドメイン名を抽出することを特徴とする付記１に記載の中継装置。
【０１４３】
（付記３）前記挿入処理が行われた資源識別子に対するリダイレクト処理を要求するレスポンスを前記ブラウザに送信する応答部をさらに備えたことを特徴とする付記１又は２に記載の中継装置。
【０１４４】
（付記４）前記挿入処理が行われた資源識別子のドメイン部を、当該中継装置のドメイン名から前記挿入処理が行われた資源識別子に含まれるサーバのドメイン名へ置き換えて、前記リクエストを変換する変換部をさらに備えたことを特徴とする付記１又は２に記載の中継装置。
【０１４５】
（付記５）コンピュータによって実行される中継方法であって、
ブラウザから受信したリクエストに含まれる資源識別子が所定のフォーマットに適合するか否かを判定し、
前記資源識別子が所定のフォーマットに適合しないと判定されたとき、前記資源識別子のリンク元である資源識別子に含まれるサーバのドメイン名を前記リクエストから抽出し、
前記抽出された前記サーバのドメイン名を、前記資源識別子のドメイン部の後ろに挿入することを特徴とする中継方法。
【０１４６】
（付記６）前記リクエストに含まれる資源識別子を記憶部に記憶し、
前記リンク元である資源識別子が前記リクエストに含まれていないとき、前記記憶部に記憶され、かつ前記所定のフォーマットに適合する資源識別子のうち前記記憶部への記憶が最新の資源識別子から前記サーバのドメイン名を抽出することを特徴とする付記５に記載の中継方法。
【０１４７】
（付記７）前記挿入する処理が行われた資源識別子に対するリダイレクト処理を要求するレスポンスを前記ブラウザに送信することを特徴とする付記５又は６に記載の中継方法。
【０１４８】
（付記８）前記挿入する処理が行われた資源識別子のドメイン部を、当該中継装置のドメイン名から前記挿入処理が行われた資源識別子に含まれるサーバのドメイン名へ置き換えて、前記リクエストを変換することを特徴とする付記５又は６に記載の中継方法。
【０１４９】
（付記９）コンピュータに、
ブラウザから受信したリクエストに含まれる資源識別子が所定のフォーマットに適合するか否かを判定し、
前記資源識別子が所定のフォーマットに適合しないと前記判定工程により判定されたとき、前記資源識別子のリンク元である資源識別子に含まれるサーバのドメイン名を前記リクエストから抽出し、
前記抽出された前記サーバのドメイン名を、前記資源識別子のドメイン部の後ろに挿入する処理を実行させることを特徴とする中継プログラム。
【０１５０】
（付記１０）コンピュータに、前記リクエストに含まれる資源識別子を記憶部に記憶し、
前記リンク元である資源識別子が前記リクエストに含まれていないとき、前記記憶部に記憶され、かつ前記所定のフォーマットに適合する資源識別子のうち前記記憶部への記憶が最新の資源識別子から前記サーバのドメイン名を抽出する処理を実行させることを特徴とする付記９に記載の中継プログラム。
【０１５１】
（付記１１）コンピュータに、前記挿入処理が行われた資源識別子に対するリダイレクト処理を要求するレスポンスを前記ブラウザに送信する処理を実行させることを特徴とする付記９又は１０に記載の中継プログラム。
【０１５２】
（付記１２）コンピュータに、前記挿入処理が行われた資源識別子のドメイン部を、当該中継装置のドメイン名から前記挿入処理が行われた資源識別子に含まれるサーバのドメイン名へ置き換えて、前記リクエストを変換することを特徴とする付記９又は１０に記載の中継プログラム。
【符号の説明】
【０１５３】
１，１’  端末装置
２  Ｗｅｂブラウザ
３，３Ａ，３Ｂ，３Ｃ  中継装置
４  Ｗｅｂサーバ
５  ネットワーク
１１，１１Ａ，１１Ｂ  判定部
１２，１２Ａ，１２Ｂ  変換部
１３，１３Ａ，１３Ｂ  抽出部
１４，１４Ａ，１４Ｂ  挿入部
１５，１５Ａ  応答部
１６Ａ  記憶部
【図１】
0005488349.tif 000002
【図２】
0005488349.tif 000003
【図３】
0005488349.tif 000004
【図４】
0005488349.tif 000005
【図５】
0005488349.tif 000006
【図６】
0005488349.tif 000007
【図７】
0005488349.tif 000008
【図８】
0005488349.tif 000009
【図９】
0005488349.tif 000010
【図１０】
0005488349.tif 000011
【図１１】
0005488349.tif 000012
【図１２】
0005488349.tif 000013
【図１３】
0005488349.tif 000014
【図１４】
0005488349.tif 000015
【図１５】
0005488349.tif 000016
【図１６】
0005488349.tif 000017
【図１７】
0005488349.tif 000018
【図１８】
0005488349.tif 000019
【図１９】
0005488349.tif 000020
【図２０】
0005488349.tif 000021
【図２１】
0005488349.tif 000022
【図２２】
0005488349.tif 000023