JP5488349B2 - Relay device, relay method, and relay program - Google Patents
Relay device, relay method, and relay program Download PDFInfo
- Publication number
- JP5488349B2 JP5488349B2 JP2010192855A JP2010192855A JP5488349B2 JP 5488349 B2 JP5488349 B2 JP 5488349B2 JP 2010192855 A JP2010192855 A JP 2010192855A JP 2010192855 A JP2010192855 A JP 2010192855A JP 5488349 B2 JP5488349 B2 JP 5488349B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- url
- html
- server
- relay device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Description
本発明は、中継装置、中継方法及び中継プログラムに関する。 The present invention relates to a relay device, a relay method, and a relay program.
セキュリティの強化などのために、Webブラウザ(Web Browser)とWebサーバ(Web Server)の間にリバースプロキシサーバ(Reverse proxy server)と呼ばれる中継装置が設置されることがある。この場合、Webブラウザのリクエスト(Request)は、Webサーバに直接送信されず、中継装置を介してWebサーバに送信される。 In order to enhance security, a relay device called a reverse proxy server may be installed between a web browser and a web server. In this case, the request (Request) of the Web browser is not transmitted directly to the Web server, but is transmitted to the Web server via the relay device.
中継装置は、Webブラウザのリクエストを受信すると、Webサーバからリソースを取得するためのURL(Uniform Resource Locator:統一資源位置指定子)を特定する。中継装置は、このURLの特定を、Webブラウザから受信したリクエストに含まれるURLの中の特定部分の記述に基づいて行う。URLを特定すると、中継装置は、Webブラウザから受信したリクエストに含まれるURLを、特定したURLに書き換える。中継装置は、このように書き換えたリクエストをWebサーバに送信する。 When the relay device receives a request from the Web browser, the relay device specifies a URL (Uniform Resource Locator) for acquiring a resource from the Web server. The relay device specifies the URL based on the description of the specific part in the URL included in the request received from the Web browser. When the URL is specified, the relay device rewrites the URL included in the request received from the Web browser with the specified URL. The relay device transmits the rewritten request to the Web server.
図21は、中継装置によるURLの書き換え手順の説明図である。図21に示すように、端末装置110のWebブラウザ111とWebサーバ130の間には、中継装置120が配置される。以下においては、HTMLファイル「A.html」に基づいたWebページを表示部112に表示するために、Webブラウザ111がWebサーバ130からHTMLファイル「A.html」を取得する例を説明する。なお、中継装置120のドメイン名を「server」とし、Webサーバ130のドメイン名を「domain1」とする。
FIG. 21 is an explanatory diagram of a URL rewriting procedure by the relay device. As illustrated in FIG. 21, the
図21に示すように、端末装置110のWebブラウザ111は、リクエストを中継装置120へ送信する(ステップS100)。ステップS100において、Webブラウザ111から送信されるリクエストに含まれるURLは、「http://server/http:domain1/A.html」である。
As shown in FIG. 21, the
中継装置120は、Webブラウザ111からリクエストを受信すると、受信したリクエストに含まれるURLを変換部121により変換する(ステップS101)。具体的には、中継装置120は、変換部121によりリクエストに含まれるURLを「http://server/http:domain1/A.html」から「http://domain1/A.html」へ変換する。中継装置120は、変換部121によりURLが変換されたリクエストを、Webサーバ130へ転送する(ステップS102)。
When receiving the request from the
Webサーバ130は、中継装置120からリクエストを受信すると、受信したリクエストに含まれるURL「http://domain1/A.html」に基づき、HTMLファイル「A.html」を読み出す。Webサーバ130は、読み出したHTMLファイル「A.html」を含むレスポンスを中継装置120へ送信する(ステップS103)。中継装置120は、Webサーバ130から受信したレスポンスをWebブラウザ111へ転送する。
When the
Webブラウザ111はHTMLファイル「A.html」を受信すると、受信したHTMLファイル「A.html」内に含まれるリンク先URLを変換する(ステップS104)。リンク先URLとは、HTMLファイルによりハイパーリンクが設定されたURLである。リンク先URLとして、例えば、「http://domain1/F.html」がHTMLファイル「A.html」内に記述されているとする。この場合、Webブラウザ111は、「http://domain1/F.html」を「http://server/http:domain1/F.html」に変更する。この変更により、Webブラウザ111によるリクエストの送信先がWebサーバ130から中継装置120に変更される。すなわち、Webブラウザ111によるHTMLファイル「F.html」の取得が中継装置120を介して行われるようにHTMLファイル「A.html」内の記述が変換される。
When receiving the HTML file “A.html”, the
しかしながら、HTMLファイルにおいてリンク先URLが誤った相対パスで記述されている場合、Webブラウザ111からのリクエストが中継装置120からWebサーバ130へ送信されないことがある。
However, if the link destination URL is described with an incorrect relative path in the HTML file, the request from the
具体的には、HTMLファイルにおいて、存在しない上位階層を示す相対パスがリンク先URLとして記述されている場合である。この場合、Webブラウザ111から中継装置120に送信されたリクエストは、中継装置120からWebサーバ130へ送信されない。
Specifically, in the HTML file, a relative path indicating a non-existing upper layer is described as a link destination URL. In this case, the request transmitted from the
例えば、Webブラウザ111がURL「http://server/http:domain1/A.html」を指定して、図21に示すように、HTMLファイル「A.html」を取得したとする。また、Webブラウザ111が取得したHTMLファイル「A.html」内には、あるリンク先URLとして、「../B.html」が記述されているとする。なお、HTMLファイル「B.html」をWebサーバ130から取得するための正しいURLは、相対パスで記述すると「./B.html」であり、絶対パスで記述すると「http//server/http:domain1/B.html」である。
For example, it is assumed that the
図22は、誤った相対パスがリンク先URLとして記述されている場合におけるURLの書き換え手順の説明図である。Webブラウザ111は、HTMLファイル「A.html」をWebサーバ130から取得したとき、図21のステップS104で示したように、絶対パスで記述されているリンク先URLを変換する。一方、相対パスで記述されているリンク先URLは変換しない。従って、リンク先URLが相対パスで記述されている「../B.html」は変換されない。
FIG. 22 is an explanatory diagram of a URL rewriting procedure when an incorrect relative path is described as a link destination URL. When the
Webブラウザ111は、リンク先URL「../B.html」がリクエスト対象として指定されたとき、このリンク先URLを絶対パスで記述されるURLへ変換する(ステップS105)。ここで、リンク元URLは「http://server/http:domain1/A.html」であり、「../」は一つ上位の階層を示す記述である。そのため、Webブラウザ111は、HTMLファイル「B.html」がHTMLファイル「A.html」の一つ上位の階層である「http:domain1」と同階層にあるとみなす。そのため、Webブラウザ111は、リンク先URLの相対パス「../B.html」を、絶対パス「http://server/B.html」に変換する。リンク先URLの正しい絶対パスは、上述したように「http://server/http:domain1/B.html」であるため、Webブラウザ111は、誤ったURLを生成することになる。
When the link destination URL “../B.html” is designated as a request target, the
ステップS105において変換されたリンク先URL「http://server/B.html」は、リクエストURLとしてリクエストに設定され、Webブラウザ111から中継装置120に送信される(ステップS106)。このリクエストURLには、Webサーバ130のドメイン名が含まれていないため、中継装置120の変換部121ではURLの変換を行うことができない(ステップS107)。従って、中継装置120は、リクエストを転送すべきWebサーバが解からず、リクエストの転送を行うことができない。
The link destination URL “http: //server/B.html” converted in step S105 is set in the request as a request URL and transmitted from the
中継装置120においてリクエストの転送を行うことができない現象は、中継装置120によってHTMLファイル内のリンク先URLを変換する場合でも同様に発生する。何故なら、中継装置120の変換方法もWebブラウザ111と変換方法は同じであるためである。従って、存在しない上位階層を示す相対パスがリンク先URLとして記述されている場合、中継装置120による変換後のリンク先URLは誤ったURLとなる。このように誤ったリンク先URLは、中継装置120からWebブラウザ111に渡される。従って、Webブラウザ111は、誤ったリンク先URLを含むリクエストを中継装置120に送信することになり、Webブラウザ111でURLを変換する場合と同様の現象が発生する。
The phenomenon in which a request cannot be transferred in the
このように、存在しない上位階層を示す相対パスに基づくリクエストがWebブラウザ111から送信された場合、中継装置120はリクエストの転送を行うことができない。従って、Webブラウザ111は、リクエストを送信したにもかかわらず、このリクエストに応じたリソースをWebサーバ130から取得することができない。
Thus, when a request based on a relative path indicating a non-existing upper layer is transmitted from the
開示の技術は、上記に鑑みてなされたものであって、存在しない上位階層を示す相対パスに基づくリクエストに対し、正しい送信先を判別することができる中継装置、中継方法及び中継プログラムを提供することを目的とする。 The disclosed technology has been made in view of the above, and provides a relay device, a relay method, and a relay program capable of determining a correct transmission destination for a request based on a relative path indicating a non-existing upper layer. For the purpose.
本願の開示する中継装置は、一つの態様において、判定部と、抽出部と、挿入部とを備える。前記判定部は、ブラウザから受信したリクエストに含まれる資源識別子が所定のフォーマットに適合するか否かを判定する。前記抽出部は、前記資源識別子が所定のフォーマットに適合しないと前記判定部により判定されたとき、前記資源識別子のリンク元である資源識別子に含まれるサーバのドメイン名を前記リクエストから抽出する。前記挿入部は、前記抽出部によって抽出された前記サーバのドメイン名を、前記リクエストに含まれる資源識別子のドメイン部の後ろに挿入する。 The relay apparatus which this application discloses is provided with the determination part, the extraction part, and the insertion part in one aspect. The determination unit determines whether the resource identifier included in the request received from the browser conforms to a predetermined format. When the determination unit determines that the resource identifier does not conform to a predetermined format, the extraction unit extracts the domain name of the server included in the resource identifier that is a link source of the resource identifier from the request. The insertion unit inserts the domain name of the server extracted by the extraction unit after the domain part of the resource identifier included in the request.
本願の開示する技術の一つの態様によれば、存在しない上位階層を示す相対パスに基づくリクエストに対し、正しい送信先を判別することができる。 According to one aspect of the technology disclosed in the present application, it is possible to determine a correct transmission destination for a request based on a relative path indicating a non-existing upper layer.
以下に添付図面を参照して、この発明に係る中継装置、中継方法及び中継プログラムの実施例を詳細に説明する。 Exemplary embodiments of a relay device, a relay method, and a relay program according to the present invention will be described below in detail with reference to the accompanying drawings.
以下の実施例では、実施例1に係る中継装置のURL変換機能、構成および処理の流れを順に説明し、最後に実施例1による効果を説明する。 In the following embodiments, the URL conversion function, configuration, and processing flow of the relay apparatus according to the first embodiment will be described in order, and finally the effects of the first embodiment will be described.
[中継装置のURL変換機能]
まず最初に、図1〜5を用いて、実施例1に係る中継装置3のURL変換機能を説明する。図1は、実施例1に係る中継装置3を含む通信システムの構成を示す図である。また、図2〜図5は、実施例1に係る中継装置3のURL変換機能を説明する図である。なお、以下においては、中継装置3のドメイン名を「server」とし、Webサーバ4のドメイン名を「domain1」とする。また、Webブラウザ2と中継装置3との間の通信、及び中継装置3とWebサーバ4との間の通信は、通信プロトコルとしてHTTP(Hypertext Transfer Protocol)などが用いられる。
[URL conversion function of relay device]
First, the URL conversion function of the
図1に示すように、実施例1に係る中継装置3は、Webブラウザ(Web Browser)2を有する端末装置1内に配置されるローカルプロシキ(Local Proxy)である。この中継装置3は、リバースプロキシとも呼ばれ、Webブラウザ2のリクエスト(Request)を中継する。すなわち、Webブラウザ2のリクエストは、Webサーバ(Web Server)4には直接送信されず、中継装置3を介してWebサーバ4に送信される。
As illustrated in FIG. 1, the
Webブラウザ2から送信されるリクエストには、リクエスト行、メッセージヘッダ及びメッセージボディなどの情報が含まれる。そして、リクエスト行には、リクエストURLが含まれる。リクエストURLは、Webブラウザ2が取得しようとするリソース(Resource)のURL(Uniform Resource Locator:統一資源位置指定子)である。リソースとして、例えば、HTMLファイル、画像データ、動画データ、音楽データなどがある。なお、URLは、資源識別子の一例である。すなわち、URLは、URI(Uniform Resource Identifier:統一資源識別子)であり、ネットワーク上に存在するリソースの場所を指し示す記述方式である。
The request transmitted from the
中継装置3は、Webブラウザ2のリクエストを受信すると、受信したリクエストに含まれるリクエストURLからリソースのURLを特定する。例えば、リクエストURLが図2に示すURLであるとする。すなわち、リクエストに含まれるURLのスキーム部、ドメイン部及びパス部にそれぞれ、「http」、「server」及び「http:domain1/A.html」が記述されているとする。この場合、中継装置3は、図3に示すように、リクエストURLのパス部「http:domain1/A.html」からリソースのURL「http://domain1/A.html」を特定する。なお、スキーム部には、リソースを取得するためのプロトコル名が記述される。ドメイン部には、Webサーバ4などのようにリソースを有する装置のドメイン名が記述される。パス部には、ドメイン部で指定された装置内のリソースの所在地の情報が記述される。例えば、パス部には、ディレクトリ名やフォルダ名を含んだファイル名が記述される。
When the
リソースのURLを特定すると、中継装置3は、リクエストURLをリソースのURLに書き換える。中継装置3は、このようにURLを書き換えたリクエストをWebサーバ4にネットワーク5を介して送信する。
When the resource URL is specified, the
このように、実施例1に係る中継装置3では、Webブラウザ2からリクエストを受信すると、受信したリクエストに含まれるリクエストURLのドメイン部を中継装置3のドメイン名からWebサーバ4のドメイン名に変換する。このようにすることで、Webブラウザ2からのリクエストは、中継装置3を介してWebサーバ4へ送信される。
As described above, when the
Webサーバ4は、中継装置3を介したWebブラウザ2からのリクエストに対して、リクエストURLに応じたHTMLファイルを含むレスポンスを中継装置3へ送信する。中継装置3は、Webサーバ4から受信したレスポンスをWebブラウザ2へ転送する。Webブラウザ2は、HTMLファイルを受信すると、受信したHTMLファイルに含まれるリンク先URLのうち絶対パスで記述されたURLを、中継装置3を送信先とするURLに変換する。例えば、受信したHTMLファイルにリンク先URLとして、「http://domain1/G.html」が記述されている場合、Webブラウザ2は、このリンク先URLを「http://server/http:domain1/G.html」に変換する。
In response to a request from the
このように、Webブラウザ2は、リンク先URLのドメイン部が中継装置3のドメイン名となるようにHTMLファイルの書き換えを行っている。そのため、Webブラウザ2は、Webサーバ4が提供する画像データやHTMLファイルなどのリソースを中継装置3を介して要求及び取得することになる。
As described above, the
また、Webブラウザ2は、リンク先URLを変換して、リクエストURLのパス部にWebサーバ4のドメイン名やリソースのパス名を含ませるようにしている。そのため、中継装置3は、Webブラウザ2からリクエストを受信したとき、受信したリクエストに含まれるリクエストURLを、Webサーバ4のURLに書き換えることができる。Webサーバ4のURLは、Webサーバ4からソースを取得するためのURLである。
Further, the
ところで、リンク先URLが相対パスで記述されている場合がある。この場合、Webブラウザ2は、HTMLファイルの取得時にはリンク先URLの変換を行わず、リンク先URLがリクエスト対象として指定されたときに、リンク先URLを変換する。このリンク先URLの変換は、リンク元URLに基づいて行われる。
By the way, the link destination URL may be described with a relative path. In this case, the
例えば、リンク元URLが「http://server/http:domain1/A.html」であり、リンク先URLが相対パスで「./B.html」と記述されているとする。「./」は同階層を示す記述であり、HTMLファイル「B.html」は、HTMLファイル「A.html」と同階層である。そのため、Webブラウザ2は、相対パスで記述されたリンク先URLを、絶対パス「http://server/http:domain1/B.html」に変換する。Webブラウザ2は、このように変換したリンク先URLをリクエストURLとしたリクエストを送信する。
For example, it is assumed that the link source URL is “http: // server / http: domain1 / A.html” and the link destination URL is described as “./B.html” with a relative path. “./” is a description indicating the same level, and the HTML file “B.html” is the same level as the HTML file “A.html”. For this reason, the
ところが、存在しない上位階層を示す相対パスがリンク先URLとして記述されている場合、Webブラウザ2により変換したリンク先URLのパス部には、Webブラウザ2のドメイン名が含まれなくなる。
However, when a relative path indicating a non-existing upper layer is described as a link destination URL, the path name of the link destination URL converted by the
例えば、Webブラウザ2がURL「http://server/http:domain1/A.html」を指定してHTMLファイル「A.html」を取得したとする。そして、HTMLファイル「A.html」内にリンク先URLとして、相対パス「../B.html」が記述されているとする。「../」は一つ上位の階層を示す記述である。従って、HTMLファイル「B.html」は、Webブラウザ2によりHTMLファイル「A.html」の一つ上位の階層である「http:domain1」と同階層にあるとみなされる。
For example, assume that the
そのため、Webブラウザ2は、図4に示すように、リンク先の相対パス「../B.html」を、リンク元URL「http://server/http:domain1/A.html」に基づき、「http://server/B.html」へ変換する。変換されたURLのパス部にはWebサーバ4のドメイン名が含まれておらず、このようなURLがリクエストURLとして含まれるリクエストがWebブラウザ2から中継装置3へ送信される。
Therefore, as shown in FIG. 4, the
一方、中継装置3を介さずにWebブラウザ2からWebサーバ4へリクエストが送信される場合には、このような問題は発生しない。これは、リンク元URLにおいて、Webサーバ4のドメイン名がパス部ではなくドメイン部に含まれているためである。
On the other hand, when a request is transmitted from the
例えば、リンク元URLが「http://domain1/A.html」であり、リンク先URLが相対パス「../B.html」とする。この場合、HTMLファイル「B.html」は、HTMLファイル「A.html」よりも一つ階層が上位にあることになる。しかし、HTMLファイル「A.html」がパス部の最上位階層にあり、パス部にはHTMLファイル「A.html」よりも上位階層はない。そのため、Webブラウザ2は、HTMLファイル「B.html」がパス部の最上位階層にあるとみなし、図5に示すように、リンク先の相対パス「../B.html」を、正しい絶対パス「http://domain1/B.html」へ変換する。
For example, the link source URL is “http: //domain1/A.html”, and the link destination URL is a relative path “../B.html”. In this case, the HTML file “B.html” is one level higher than the HTML file “A.html”. However, the HTML file “A.html” is at the highest level of the path part, and the path part has no higher level than the HTML file “A.html”. For this reason, the
このように、存在しない上位階層を示す相対パスがリンク先URLとして記述されている場合、中継装置3の介在により、Webブラウザ2からのリクエストがWebサーバ4で受信できない現象が発生する。
In this way, when a relative path indicating a non-existing upper layer is described as a link destination URL, a phenomenon occurs in which a request from the
そこで、実施例1に係る中継装置3では、存在しない上位階層を示す相対パスがリンク先URLとして記述された場合であっても、URL補完処理を行うことにより、この相対パスに基づくリクエストをWebサーバ4へ中継装置3を介して送信可能にしている。以下、中継装置3の構成及び処理の流れの説明において、具体的に説明する。
Thus, in the
[中継装置の構成]
次に、図6を用いて、実施例1に係る中継装置3の構成を説明する。図6は、実施例1に係る中継装置3の構成を示すブロック図である。また、図7は、実施例1に係る中継装置の挿入部14の処理を説明する図である。また、図8は、実施例1に係る中継装置の応答部15から送信されるレスポンスを説明する図である。
[Configuration of relay device]
Next, the configuration of the
図6に示すように、中継装置3は、判定部11、変換部12、抽出部13、挿入部14、応答部15を備える。以下にこれらの各部の処理を説明する。
As illustrated in FIG. 6, the
判定部11は、Webブラウザ2からリクエストを受信すると、受信したリクエストに含まれるリクエストURLが予め設定したURL変換ルールに基づくフォーマット(以下、「URL変換フォーマット」とする)に適合するか否かを判定する。具体的には、判定部11は、リクエストURLのパス部の最上位階層にプロトコル名とWebサーバ4のドメイン名とが含まれているときに、URL変換フォーマットに適合すると判定する。
When the
例えば、リクエストURLが「http://server/http:domain1/A.html」である場合、パス部の最上位階層に、プロトコル名「http」及びWebサーバ4のドメイン名「domain1」が含まれている。そのため、判定部11は、URL「http://server/http:domain1/A.html」はURL変換フォーマットに適合すると判定する。
For example, when the request URL is “http: // server / http: domain1 / A.html”, the protocol name “http” and the domain name “domain1” of the
判定部11は、リクエストURLがURL変換フォーマットに適合すると判定すると、Webブラウザ2から受信したリクエストを変換部12に渡す。一方、リクエストURLがURL変換フォーマットに適合しないと判定すると、判定部11は、Webブラウザ2から受信したリクエストからリクエストURLとRefererヘッダを抽出する。そして、判定部11は、抽出したリクエストURLとRefererヘッダを抽出部13に渡す。
If the
Refererヘッダは、リクエストのヘッダメッセージに含まれる情報であり、リンク元URLが記述されている。リンク元URLは、リンク元の資源識別子の一例である。すなわち、リンク元URLとは、リクエストURLのリンク元となるURLである。例えば、URLが「http://server/http:domain1/A.html」であるHTMLファイル「A.html」内に、リンク先URLとして「http://server/http:domain1/B.html」が記述されているとする。この場合、リクエストURLは、「http://server/http:domain1/B.html」であり、リンク元URLは、「http://server/http:domain1/A.html」である。 The Referer header is information included in the header message of the request, and describes the link source URL. The link source URL is an example of a resource identifier of the link source. That is, the link source URL is a URL that becomes a link source of the request URL. For example, in the HTML file “A.html” whose URL is “http: // server / http: domain1 / A.html”, the link destination URL is “http: // server / http: domain1 / B.html”. Is described. In this case, the request URL is “http: // server / http: domain1 / B.html”, and the link source URL is “http: // server / http: domain1 / A.html”.
変換部12は、判定部11から受け取ったリクエストに含まれる情報のうちリクエストURLをWebサーバ4のURLに書き換える。具体的には、変換部12は、リクエストURLのパス部の最上位階層の記述に基づいて、リクエストURLのスキーム部とドメイン部を書き換える。また、変換部12は、リクエストURLのパス部の最上位未満の階層に基づいて、リクエストURLのパス部を書き換える。
The
例えば、リクエストURLが「http://server/http:domain1/A.html」であるとする。この場合、変換部12は、パス部の最上位の階層に記述されている「http:domain1」に基づき、変換後のスキーム部を「http」とし、変換後のドメイン部を「domain1」とする。また、変換部12は、リクエストURLのパス部の最上位未満の階層に記述されている「A.html」に基づき、変換後のパス部を「A.html」とする。従って、リクエストURLは、「http://server/http:domain1/A.html」から「http://domain1/A.html」に書き換えられる。
For example, it is assumed that the request URL is “http: // server / http: domain1 / A.html”. In this case, the
変換部12は、このように書き換えたリクエストURL「http://domain1/A.html」を含むリクエストをWebサーバ4にネットワーク5を介して送信する。なお、変換部12は、Webブラウザ2から受信したリクエストに含まれる情報のうち、リクエスト行に含まれるリクエストURLを書き換え、メッセージヘッダやメッセージボディなどは書き換えない。
The
抽出部13は、判定部11から受け取ったRefererヘッダに含まれるリンク元URLからWebサーバ4のドメイン名を抽出する。具体的には、抽出部13は、リンク元URLのパス部の記述のうち最上位階層の「:」の後ろにある記述をWebサーバ4のドメイン名として抽出する。例えば、リンク元URLが「http://server/http:domain1/A.html」である場合、抽出部13は、最上位階層の記述「http:domain1」のうち、「domain1」をWebサーバ4のドメイン名として抽出する。また、抽出部13は、リンク元URLのパス部の記述のうち最上位階層の「:」の前にある記述からプロトコル名「http」を抽出する。抽出部13は、抽出したWebサーバ4のドメイン名とプロトコル名を挿入部14に渡す。また、抽出部13は、判定部11から受け取ったリクエストURLを挿入部14に渡す。
The
挿入部14は、抽出部13によって抽出されたWebサーバ4のドメイン名とプロトコル名を、リクエストURLのドメイン部の後ろに挿入する。具体的には、挿入部14は、「/」を挿入してリクエストURLのパス部の記述を一つ下層にずらし、パス部の最上位階層にWebサーバ4のドメイン名とプロトコル名を挿入する。このようにWebサーバ4のドメイン名とプロトコル名が挿入されたURLは、挿入部14から応答部15に渡される。
The
例えば、リクエストURLが「http://server/B.html」であり、抽出部13によって抽出されたWebサーバ4のドメイン名が「domain1」であるとする。また、抽出部13によって抽出されたプロトコル名が「http」であるとする。この場合、挿入部14は、図7に示すように、リクエストURLのパス部に記述されている「B.html」を「/B.html」として一つ下層にずらす。さらに、挿入部14は、最上位階層にプロトコル名「http」及びWebサーバ4のドメイン名「domain1」を挿入する。これにより、リクエストURLが「http://server/B.html」から「http://server/http:domain1/B.html」へ変換される。なお、プロトコル名「http」とWebサーバ4のドメイン名「domain1」とはコロン「:」で区切られる。
For example, it is assumed that the request URL is “http: //server/B.html” and the domain name of the
応答部15は、挿入部14から受け取ったURLを含むレスポンスを生成し、このレスポンスをWebブラウザ2に送信する。このレスポンスは、挿入部14により挿入処理が行われたURLに対するリダイレクト処理をWebブラウザ2に要求するレスポンスである。例えば、挿入部14により挿入処理が行われたURLが「http://server/ http:domain1/B.html」であるとする。この場合、応答部15は、図8に示すように、「301 Moved Permanently」と「Location:http://server/ http:domain1/B.html」を含むレスポンスを生成して、Webブラウザ2に送信する。「301 Moved Permanently」は、ステータス行のステータスコードとしてレスポンスに含まれる。また、「Location:http://server/ http:domain1/B.html」は、ヘッダメッセージとしてレスポンスに含まれる。Webブラウザ2は、応答部15からのレスポンスを受信すると、「http://server/ http:domain1/B.html」をリクエストURLとしたリクエストを中継装置3へ送信するリダイレクト処理を行う。
The
[中継装置による処理]
次に、図9〜11を用いて、実施例1に係る中継装置3による処理を説明する。図9〜図11は、実施例1に係る中継装置3の処理の流れを示すシーケンス図である。
[Processing by relay device]
Next, processing performed by the
まず、図9を参照して、中継装置3を介してWebブラウザ2がHTMLファイル「A.html」を取得する処理の流れについて説明する。URL「http://server/http:domain1/A.html」がリクエスト対象として指定された場合、Webブラウザ2は、リクエストURLとして「http://server/http:domain1/A.html」を含むリクエストを送信する。このリクエストURLのドメイン部には中継装置3のドメイン名が記述されているため、Webブラウザ2は、このリクエストを中継装置3へ送信する(ステップS1)。
First, with reference to FIG. 9, the flow of processing in which the
中継装置3の判定部11は、Webブラウザ2からリクエストを受信すると、受信したリクエストに含まれるリクエストURLがURL変換フォーマットに適合するか否かを判定する(ステップS2)。リクエストURL「http://server/http:domain1/A.html」のパス部の最上位階層にはプロトコル名「http」とWebサーバ4のドメイン名「domain1」が含まれる。従って、判定部11は、リクエストURLがURL変換フォーマットに適合すると判定する。リクエストURLがURL変換フォーマットに適合するとき、判定部11は、Webブラウザ2から受信したリクエストを変換部12に渡す。
When receiving the request from the
変換部12は、URLを変換する。すなわち、変換部12は、判定部11から受け取ったリクエストに含まれる情報のうちリクエストURLを、Webサーバ4のURLに書き換える(ステップS3)。リクエストURLのパス部の最上位階層には「http:domain1」と記述されているため、変換部12は、「http:domain1」のうち「:」よりも後ろの「domain1」をWebサーバ4のドメイン名として特定する。また、変換部12は、「http:domain1」のうち「:」より前の「http」をプロトコル名として特定する。また、リクエストURLのパス部の最上位階層未満の階層は「A.html」と記述されているため、変換部12は、「A.html」をWebサーバ4におけるリソースのパス名として特定する。
The
このように特定したプロトコル名、ドメイン名及びパス名に基づき、変換部12は、リクエストURLを「http://server/http:domain1/A.html」から「http://domain1/A.html」に書き換える。なお、変換部12は、上位プロキシが設定されてない場合、リクエストURLを相対パスの記述である「A.html」とする。
Based on the specified protocol name, domain name, and path name, the
変換部12は、このようにリクエストURLを書き換えたリクエストを送信する。このリクエストURL「http://domain1/A.html」のドメイン部にはWebサーバ4のドメイン名が記述されているため、変換部12は、このリクエストを中継装置3へ送信する(ステップS4)。
The
Webサーバ4は、中継装置3からリクエストを受信すると、受信したリクエストに含まれるリクエストURLで指定されたリソースを読み出す。その後、Webサーバ4は、読み出したリソースを含むレスポンスを送信する。ここでは、リクエストURLが「http://domain1/A.html」であるため、Webサーバ4は、最上位階層のディレクトリに格納しているHTMLファイル「A.html」を読み出す。その後、Webサーバ4は、HTMLファイル「A.html」の記述をメッセージボディに含むレスポンスを、リクエストの送信元である中継装置3へ送信する(ステップS5)。
When receiving the request from the
中継装置3は、ステップS4において送信したリクエストに対するレスポンスをWebサーバ4から受信すると、受信したレスポンスをWebブラウザ2へ転送する。これにより、Webブラウザ2は、HTMLファイル「A.html」の記述をメッセージボディに含むレスポンスを中継装置3を介してWebサーバ4から取得する。
When the
次に、図10を参照して、HTMLファイル「A.html」内に記述されたリンク先URLにWebブラウザ2からアクセスする処理の流れについて説明する。このリンク先URLは、図10に示すように、アンカータグのhref属性値の値であり、存在しない上位階層を示す相対パス「../B.html」で記述されているとする。
Next, a flow of processing for accessing the link destination URL described in the HTML file “A.html” from the
Webブラウザ2は、リンク先URL「http://server/http:domain1/A.html」に基づいて、相対パス「../B.html」で記述されたリンク先URLを、絶対パスで記述されるURLへ変換する。Webブラウザ2による変換後のURLは、「http://server/B.html」となる。HTMLファイル「B.html」の正しいURLの絶対パスは、「http:// server/http:domain1/B.html」である。従って、Webブラウザ2は、リンク先URLを誤ったURLに変換している。
Based on the link destination URL “http: // server / http: domain1 / A.html”, the
Webブラウザ2は、このように変換したURLをリクエストURLとして含ませたリクエストを生成する。Webブラウザ2により生成されたリクエストには、Refererヘッダとして、リンク元URL「http://server/http:domain1/A.html」が含まれる。
The
次に、Webブラウザ2は、生成したリクエストを送信する。リクエストURLのドメイン部には中継装置3のドメイン名が記述されているため、Webブラウザ2は、このリクエストを中継装置3へ送信する(ステップS6)。
Next, the
中継装置3の判定部11は、Webブラウザ2からリクエストを受信すると、受信したリクエストに含まれるリクエストURLがURL変換フォーマットに適合するか否かを判定する(ステップS7)。リクエストURL「http://server/B.html」のパス部にはプロトコル名やWebサーバ4のドメイン名が含まれていない。従って、判定部11は、リクエストURLがURL変換フォーマットに適合しないと判定する。リクエストURLがURL変換フォーマットに適合しないとき、判定部11は、Webブラウザ2から受信したリクエストに含まれるリクエストURLとRefererヘッダとを抽出部13に渡す。
When receiving the request from the
抽出部13は、判定部11から受け取ったRefererヘッダからWebサーバ4のドメイン名を抽出する(ステップS8)。具体的には、抽出部13は、Refererヘッダに含まれるリンク元URLのパス部のうち最上位階層の記述のうち「:」の後ろにある記述「domain1」をWebサーバ4のドメイン名として抽出する。また、抽出部13は、最上位階層の記述のうち「:」の前にある記述「http」をプロトコル名として抽出する。抽出部13は、抽出したWebサーバ4のドメイン名及びプロトコル名を挿入部14に渡す。また、抽出部13は、判定部11から受け取ったリクエストURLを挿入部14に渡す。
The
挿入部14は、抽出部13によって抽出されたプロトコル名「http」とWebサーバ4のドメイン名「domain1」を、リクエストURLのドメイン部の後ろに挿入する(ステップS9)。具体的には、挿入部14は、リクエストURLのパス部の記述「B.html」を「/B.html」として最上位階層より一つ下層にずらし、最上位階層にプロトコル名「http」とWebサーバ4のドメイン名「domain1」を挿入する。これにより、リクエストURLが「http://server/B.html」から「http://server/ http:domain1/B.html」へ変換される。なお、プロトコル名「http」とWebサーバ4のドメイン名「domain1」とはコロン「:」で区切られる。
The
応答部15は、挿入部14により挿入処理が行われたリクエストURLに対するリダイレクト処理をWebブラウザ2に要求するレスポンスを生成し、生成したレスポンスをWebブラウザ2に送信する(ステップS10)。このレスポンスには、図8に示すように、ステータス行のステータスコードとして「301 Moved Permanently」を含み、ヘッダメッセージに「Location:http://server/ http:domain1/B.html」を含む。
The
次に、図11を参照して、ステップS10において中継装置3からWebブラウザ2へ送信されたレスポンスに対する処理の流れについて説明する。
Next, with reference to FIG. 11, the flow of processing for the response transmitted from the
Webブラウザ2は、中継装置3からのレスポンスを受信すると、中継装置3により補完処理されたリクエストURLを含むリクエストを中継装置3へ送信するリダイレクト処理を行う。具体的には、Webブラウザ2は、Locationヘッダに基づき、リダイレクト処理の対象となるリクエストURLを「http://server/http:domain1/B.html」と特定する。Locationヘッダは、中継装置3からのレスポンスのヘッダメッセージに含まれるヘッダである。Webブラウザ2は、このように特定したリクエストURLを含むリクエストを送信する(ステップS11)。リクエストURLのドメイン部には中継装置3のドメイン名が記述されているため、Webブラウザ2は、リクエストを中継装置3へ送信する。
When receiving a response from the
中継装置3の判定部11は、Webブラウザ2からリクエストを受信すると、受信したリクエストに含まれるリクエストURLがURL変換フォーマットに適合するか否かを判定する(ステップS12)。リクエストURL「http://server/domain1/B.html」のドメイン部には中継装置3のドメイン名「server」が含まれ、リクエストURLのパス部の最上位階層にプロトコル名「http」とWebサーバ4のドメイン名「domain1」が含まれる。従って、判定部11は、リクエストURLが所定のフォーマットに適合すると判定する。リクエストURLが所定のフォーマットに適合するとき、判定部11は、Webブラウザ2からリクエストを変換部12に渡す。
When receiving the request from the
変換部12は、ステップS3での処理と同様に、URLを変換する。すなわち、変換部12は、判定部11から受け取ったリクエストに含まれるリクエストURLを、Webサーバ4のURLに書き換える(ステップS13)。リクエストURLのパス部の最上位階層には「http:domain1」と記述され、パス部の最上位階層未満の階層は「A.html」と記述されている。そのため、変換部12は、リクエストURLを「http://server/http:domain1/B.html」から「http://domain1/B.html」に書き換える。
The
変換部12は、リクエストURLを書き換えたリクエストを送信する。このリクエストURLのドメイン部にはWebサーバ4のドメイン名が記述されているため、変換部12は、このリクエストを中継装置3へ送信する(ステップS14)。
The
Webサーバ4は、中継装置3からリクエストを受信する。受信したリクエストに含まれるリクエストURLが「http://domain1/B.html」であるため、Webサーバ4は、最上位階層のディレクトリに格納しているHTMLファイル「B.html」を読み出す。その後、Webサーバ4は、HTMLファイル「B.html」の記述をメッセージボディに含むレスポンスを、リクエストの送信元である中継装置3へ送信する(ステップS15)。
The
中継装置3は、ステップS11において送信したリクエストに対するレスポンスをWebサーバ4から受信すると、受信したレスポンスをWebブラウザ2へ転送する。これにより、Webブラウザは、HTMLファイル「B.html」の記述をメッセージボディに含むレスポンスを中継装置3を介してWebサーバ4から取得する。
When the
[実施例1の効果]
上述してきたように、中継装置3は、Webブラウザ2から受信したリクエストに含まれるリクエストURLが所定のフォーマットに適合するか否かを判定する。リクエストURLが所定のフォーマットに適合しないとき、中継装置3は、リクエストに含まれるリンク元URLからWebサーバ4のドメイン名を抽出する。中継装置3は、抽出したWebサーバ4のドメイン名を、リクエストURLのドメイン部の後ろに挿入する。これにより、リクエストURLを正しいURLに補完することができる。
[Effect of Example 1]
As described above, the
また、中継装置3は、リダイレクト処理を要求するレスポンスをWebブラウザ2に送信する。このレスポンスは、挿入処理により補完されたリクエストURLに対するリダイレクト処理をWebブラウザ2に要求するレスポンスである。Webブラウザ2は、受信したレスポンスに基づいて、リダイレクト処理を行うことで、Webサーバ4からリソースを取得することができる。このように、中継装置3は、存在しない上位階層を示す相対パスに基づくリクエストがWebブラウザ2から送信された場合であっても、Webブラウザ2に正しい絶対パスでのリクエストを送信させることができる。
In addition, the
上述の実施例1では、リクエストURLがURL変換フォーマットに適合しない場合、RefererヘッダからWebサーバ4のドメイン名を抽出して、リクエストURLを補完することとした。しかし、Webブラウザ2から送信されるリクエストにRefererヘッダが含まれない場合がある。
In the first embodiment described above, when the request URL does not conform to the URL conversion format, the domain name of the
そこで、本実施例2の中継装置では、Webブラウザ2から受信したリクエストの履歴である通信ログを参照することで、Refererヘッダが取得できない場合であっても、リクエストURLを補完可能としている。以下、実施例2の中継装置の構成及び処理の流れについて具体的に説明する。
Therefore, in the relay apparatus according to the second embodiment, the request URL can be complemented by referring to the communication log that is the history of the request received from the
[中継装置の構成]
次に、図12〜図14を用いて、実施例2に係る中継装置3Aの構成を説明する。図12は、実施例2に係る中継装置3Aの構成を示すブロック図である。図11は、実施例2に係る中継装置3Aの記憶部16Aに記憶される通信ログの例を示す図である。図12は、実施例2に係る中継装置3Aの判定部11Aの処理を説明する図である。
[Configuration of relay device]
Next, the configuration of the
図12に示すように、実施例2に係る中継装置3Aは、判定部11A、変換部12A、抽出部13A、挿入部14A、応答部15A、記憶部16Aを備える。以下にこれらの各部の処理を説明する。
As illustrated in FIG. 12, the
判定部11Aは、Webブラウザ2から受信したリクエストの履歴を通信ログとして記憶部16Aに記憶する。図13に記憶部16Aに記憶される通信ログの一例を示す。図13に示すように、記憶部16Aには、リクエストURL及びリクエストの内容が日付互いに関連付けられた情報が、Webブラウザ2から受信したリクエスト毎に、通信ログとして記憶される。なお、リクエストの内容には、リクエスト行及びヘッダメッセージの情報が含まれる。
The
図14に、判定部11Aによる処理の手順を示す図を示す。図14に示すように、判定部11Aは、Webブラウザ2からリクエストを受信したか否かを判定する(ステップS20)。Webブラウザ2からリクエストを受信していないと判定すると(ステップS20否定)、判定部11Aは、処理をステップS20に戻す。一方、Webブラウザ2からリクエストを受信したと判定すると(ステップS20肯定)、判定部11Aは、受信したリクエストの情報を通信ログとして記憶部16Aに記憶する(ステップS21)。
FIG. 14 is a diagram illustrating a processing procedure performed by the
次に、判定部11Aは、Webブラウザ2から受信したリクエストに含まれるリクエストURLがURL変換フォーマットに適合するか否かを判定する(ステップS22)。この処理は、実施例1の判定部11と同様の処理である。
Next, the
リクエストURLがURL変換フォーマットに適合していると判定すると(ステップS22肯定)、判定部11Aは、変換部12Aにリクエストを渡す(ステップS23)。一方、リクエストURLがURL変換フォーマットに適合していないと判定すると(ステップS22否定)、判定部11Aは、Webブラウザから受信したリクエストにRefererヘッダが含まれているか否かを判定する(ステップS24)。
If it is determined that the request URL is compatible with the URL conversion format (Yes at Step S22), the
リクエストにRefererヘッダが含まれていると判定すると(ステップS24肯定)、判定部11Aは、リクエストURLとリンク元URLとを抽出部13Aに渡す(ステップS25)。抽出部13Aに渡されるリクエストURLは、ステップS20で受信されたリクエストに含まれるリクエストURLである。また、抽出部13Aに渡されるリンク元URLは、Refererヘッダに含まれる情報である。一方、リクエストにRefererヘッダが含まれていないと判定すると(ステップS24否定)、判定部11Aは、通信ログURLを記憶部16Aから読み出す(ステップS26)。通信ログURLとは、URL変換フォーマットに沿ったリクエストURLのうち記憶部16Aに記憶された日付が最も新しいリクエストURLである。例えば、図13に示すような通信ログが記憶部16Aに記憶されているとき、通信ログURLとして判定部11Aにより読み出されるリクエストURLは、「http://server/http:domain1/E.html」である。
If it is determined that the Referer header is included in the request (Yes at Step S24), the
ステップS26の処理が終了すると、判定部11Aは、リクエストURLと記憶部16Aから読み出した通信ログURLとを、抽出部13Aに渡す(ステップS27)。抽出部13Aに渡されるリクエストURLは、ステップS20で受信されたリクエストに含まれるリクエストURLである。ステップS23,S25,S27の処理が終了すると、判定部11Aは、処理をステップS20に戻す。
When the process of step S26 ends, the
変換部12Aは、実施例1の変換部12と同様の処理を行う。すなわち、変換部12Aは、判定部11Aから受け取ったリクエストに含まれる情報のうちリクエストURLを、Webサーバ4のURLに書き換える。変換部12は、このように書き換えたリクエストURLを含むリクエストをWebサーバ4にネットワーク5を介して送信する。
The
抽出部13Aは、実施例1の抽出部13の処理と同様に、判定部11AからリクエストURLとRefererヘッダを受け取った場合、Refererヘッダからプロトコル名とWebサーバ4のドメイン名を抽出する。さらに、抽出部13は、実施例1の抽出部13の処理と同様に、リクエストURLと抽出したプロトコル名とWebサーバ4のドメイン名とを挿入部14に渡す。
When receiving the request URL and the Referer header from the
一方、判定部11からリクエストURLと通信ログURLとを受け取った場合、抽出部13Aは、通信ログURLからWebサーバ4のドメイン名を抽出する。具体的には、抽出部13Aは、通信ログURLのパス部のうち最上位階層の記述のうち「:」の後ろにある記述をWebサーバ4のドメイン名として抽出する。例えば、通信ログURLが「http://server/http:domain1/A.html」である場合、抽出部13Aは、最上位階層の記述「http:domain1」のうち、「domain1」をWebサーバ4のドメイン名として抽出する。また、抽出部13Aは、最上位階層の記述のうち「:」の前にある記述をプロトコル名として抽出する。例えば、通信ログURLが「http://server/http:domain1/A.html」である場合、抽出部13Aは、「http」をプロトコル名として抽出する。抽出部13Aは、抽出したWebサーバ4のドメイン名とプロトコル名を挿入部14に渡す。また、抽出部13Aは、判定部11Aから受け取ったリクエストURLを挿入部14Aに渡す。
On the other hand, when the request URL and the communication log URL are received from the
挿入部14Aは、実施例1の挿入部14の処理と同様に、抽出部13Aによって抽出されたWebサーバ4のドメイン名とプロトコル名を、リクエストURLのドメイン部の後ろに挿入する。
The
応答部15Aは、実施例1の応答部15と同様に、挿入部14Aにより挿入処理が行われたリクエストURLに対するリダイレクト処理をWebブラウザ2に要求するレスポンスをWebブラウザ2に送信する。
Similar to the
[中継装置による処理]
次に、図15及び図16を用いて、実施例2に係る中継装置3Aによる処理を説明する。図15及び図16は、実施例2に係る中継装置3Aの処理の流れを示すシーケンス図である。
[Processing by relay device]
Next, processing performed by the
まず、図15を参照して、中継装置3Aを介してWebブラウザ2がHTMLファイル「A.html」を取得する処理の流れについて説明する。なお、図15に示すステップS30,S31,S33〜S35の処理は、図9に示す実施例1のステップS1〜S5と同様の処理である。
First, the flow of processing in which the
図15に示すように、URL「http://server/http:domain1/D.html」がリクエスト対象として指定された場合、Webブラウザ2は、リクエストを中継装置3Aへ送信する(ステップS30)。このリクエストは、リクエストURLとして「http://server/http:domain1/D.html」を含む。
As shown in FIG. 15, when the URL “http: // server / http: domain1 / D.html” is designated as a request target, the
中継装置3Aの判定部11Aは、Webブラウザ2からリクエストを受信すると、受信したリクエストに含まれるリクエストURLがURL変換フォーマットに適合するか否かを判定する(ステップS31)。リクエストURLがURL変換フォーマットに適合するとき、判定部11Aは、Webブラウザ2からリクエストを変換部12Aに渡す。
When receiving the request from the
また、判定部11Aは、Webブラウザ2からリクエストを受信すると、受信したリクエストの情報を通信ログとして記憶部16Aに記憶する(ステップS32)。通信ログは、図13に示すように、受信したリクエストを受信した日時、受信したリクエストに含まれるリクエストURL及びリクエストの内容が互いに関連付けられた情報である。
Further, upon receiving a request from the
変換部12Aは、URLを変換する。すなわち、変換部12Aは、判定部11Aから受け取ったリクエストに含まれる情報のうちリクエストURLをWebサーバ4のURLに書き換える(ステップS33)。変換部12Aは、リクエストURLを書き換えたリクエストを中継装置3Aへ送信する(ステップS34)。
The
Webサーバ4は、中継装置3Aからリクエストを受信すると、受信したリクエストに含まれるリクエストURLで指定されたHTMLファイル「D.html」を読み出す。その後、Webサーバ4は、読み出したHTMLファイル「D.html」の記述を含むレスポンスを中継装置3Aへ送信する(ステップS35)。
When receiving the request from the
中継装置3Aは、ステップS35において送信したリクエストに対するレスポンスをWebサーバ4から受信すると、受信したレスポンスをWebブラウザ2へ転送する。これにより、Webブラウザは、HTMLファイル「D.html」の記述をメッセージボディに含むレスポンスを中継装置3Aを介してWebサーバ4から取得する。
When the
次に、図16を参照して、HTMLファイル「D.html」内に記述されたリンク先URLにWebブラウザ2からアクセスする処理の流れについて説明する。なお、図16に示すS39,S40の処理は、図10に示す実施例1のステップS9,S10と同様の処理である。
Next, a flow of processing for accessing the link destination URL described in the HTML file “D.html” from the
図16に示すように、HTMLファイル「D.html」内に、リフレッシュ・メタタグ(refresh meta tag)が記述されているとする。この場合、Webブラウザ2は、このリフレッシュ・メタタグに規定されたリンク先URLをリクエストURLとしてリクエストを送信する(ステップS36)。図16に示すリフレッシュ・メタタグには、相対パスで記述されたURL「../E.html」がリンク先URLとして規定され、待ち時間が0秒として規定されている。従って、Webブラウザ2は、リクエストURLとして「http://server/E.html」を含むリクエストを中継装置3へ送信する。なお、待ち時間とは、HTMLファイル「D.html」を取得してから、リンク先URLをリクエストURLに含むリクエストを送信する処理を行うまでの待ち時間である。
As shown in FIG. 16, it is assumed that a refresh meta tag is described in the HTML file “D.html”. In this case, the
中継装置3Aの判定部11Aは、Webブラウザ2からリクエストを受信すると、受信したリクエストに含まれるリクエストURLがURL変換フォーマットに適合するか否かを判定する(ステップS37)。リクエストURL「http://server/E.html」のパス部にはWebサーバ4のドメイン名「domain1」が含まれていない。従って、判定部11Aは、リクエストURLがURL変換フォーマットに適合しないと判定する。
When receiving the request from the
リクエストURLがURL変換フォーマットに適合しないとき、判定部11Aは、記憶部16Aから通信ログURLを読み出す。判定部11Aは、読み出した通信ログURLと受信したリクエストのリクエストURLとを抽出部13Aに渡す。通信ログURLとは、URL変換フォーマットに沿ったリクエストURLのうち記憶部16Aに記憶された日付が最も新しいリクエストURLである。ここでは、図13に示すような通信ログが記憶部16Aに記憶されているとする。従って、判定部11Aにより通信ログURLとして記憶部16Aから読み出されるリクエストURLは、「http://server/http:domain1/D.html」である。
When the request URL does not conform to the URL conversion format, the
抽出部13Aは、判定部11Aから受け取った通信ログURLからWebサーバ4のドメイン名を抽出する(ステップS38)。具体的には、抽出部13Aは、通信ログURLのパス部のうち最上位階層の記述のうち「:」の後ろにある記述「domain1」をWebサーバ4のドメイン名として抽出する。また、抽出部13Aは、最上位階層の記述のうち「:」の前にある記述「http」をプロトコル名として抽出する。抽出部13Aは、抽出したプロトコル名及びWebサーバ4のドメイン名を挿入部14Aに渡す。また、抽出部13Aは、判定部11Aから受け取ったリクエストURLを挿入部14Aに渡す。
The
挿入部14Aは、実施例1の挿入部14Aと同様に、抽出部13Aによって抽出されたプロトコル名「http」とWebサーバ4のドメイン名「domain1」を、リクエストURLのドメイン部の後ろに挿入する(ステップS39)。これにより、リクエストURLが「http://server/E.html」から「http://server/ http:domain1/E.html」へ変換される。
Similarly to the
応答部15Aは、挿入処理により補完されたリクエストURLに対するリダイレクト処理をWebブラウザ2に要求するレスポンスをWebブラウザ2に送信する(ステップS40)。このレスポンスには、ステータス行のステータスコードとして「301 Moved Permanently」が含まれ、さらに、ヘッダメッセージに「Location:http://server/ http:domain1/E.html」が含まれる。
The
Webブラウザ2は、中継装置3からのレスポンスを受信すると、中継装置3により補完されたリクエストURL「http://server/ http:domain1/E.html」を含むリクエストを中継装置3へ送信する。これにより、Webブラウザ2は、HTMLファイル「E.html」をWebサーバ4から取得することが可能となる。
Upon receiving the response from the
このように、中継装置3Aは、Webブラウザ2から受信したリクエストの情報を通信ログとして記憶する記憶部16Aを備えている。そして、中継装置3Aは、Refererヘッダがリクエストに含まれていないとき、記憶部16Aに記憶されたリクエストURLからWebサーバ4のドメイン名を抽出する。そのため、この中継装置3Aでは、Refererヘッダが含まれないリクエスト場合であっても、Webブラウザ2に正しい絶対パスでのリクエストを再送信させることができる。
As described above, the
上述の実施例1,2では、中継装置において、誤ったリクエストURLを補完して正しいリクエストURLに変換し、Webブラウザに正しいリクエストURLにリダイレクト処理をさせる。 In the first and second embodiments described above, the relay device supplements an incorrect request URL to convert it to a correct request URL, and causes the Web browser to perform a redirect process to the correct request URL.
一方、実施例3の中継装置では、Webブラウザにリダイレクト処理を行うことに代えて、中継装置においてリクエストを変換して直接Webサーバへリクエストを送信する。このようにすることで、リダイレクト処理にかかる時間を省くことができ、Webサーバからリソースを迅速に取得することができる。以下、実施例3の中継装置の構成及び処理の流れについて具体的に説明する。 On the other hand, in the relay apparatus according to the third embodiment, instead of performing the redirect process on the Web browser, the relay apparatus converts the request and transmits the request directly to the Web server. By doing so, it is possible to save time required for the redirection process, and it is possible to quickly acquire resources from the Web server. Hereinafter, the configuration of the relay apparatus according to the third embodiment and the flow of processing will be specifically described.
[中継装置の構成]
次に、図17を用いて、実施例3に係る中継装置3Bの構成を説明する。図17は、実施例3に係る中継装置3Bの構成を示すブロック図である。
[Configuration of relay device]
Next, the configuration of the
図17に示すように、実施例3に係る中継装置3Bは、判定部11B、変換部12B、抽出部13B、挿入部14B、記憶部16Bを備える。以下にこれらの各部の処理を説明する。
As illustrated in FIG. 17, the
判定部11Bは、実施例2の判定部11Aの処理に加え、さらに、挿入部14BにWebブラウザ2から受信したリクエストを渡す処理を行う。抽出部13Bは、実施例2の抽出部13Bと同様の処理を行う。
In addition to the process of the
変換部12Bは、実施例2の変換部12Bの処理に加え、さらに、挿入部14Bから受け取ったリクエストを変換する。すなわち、変換部12Bは、判定部11Bから受け取ったリクエストの変換に加え、挿入部14Bから受け取ったリクエストの変換も行う。リクエストの変換は、リクエストURLをWebサーバ4のURLに置き換えることによって行う。なお、挿入部14Bから受け取ったリクエストに対する変換は、判定部11Bから受け取ったリクエストに対する変換と同様の処理で行う。変換部12Bは、このように、変換したリクエストをWebサーバ4へ送信する。
The
挿入部14Bは、実施例2の挿入部14Aの処理に加え、変換したリクエストURLを含むリクエストを生成する。具体的には、挿入部14Bは、判定部11Bから受け取ったリクエストに含まれる情報のうちリクエストURLを、変換したリクエストURLに置き換える。挿入部14Bは、このようにリクエストURLを置き換えたリクエストを変換部12Bに渡す。
The
[中継装置による処理]
次に、図18を用いて、実施例3に係る中継装置3Bによる処理を説明する。図18は、実施例3に係る中継装置3Bの処理の流れを示すシーケンス図である。なお、図18に示すS60〜S63の処理は、図16に示す実施例2のステップS36〜S39と同様の処理である。
[Processing by relay device]
Next, processing performed by the
図18では、HTMLファイル「D.html」内に記述されたリンク先URLにWebブラウザ2からアクセスする処理の流れについて説明する。図18に示すように、HTMLファイル「D.html」内に、リフレッシュ・メタタグ(refresh meta tag)が記述されているとする。Webブラウザ2は、このメタタグに規定されたリンク先URLを相対パスによる記述から絶対パスによる記述へ変換する。その後、Webブラウザ2は、このように変換したリクエストURL「http://server/E.html」を含むリクエストを送信する(ステップS60)。
FIG. 18 describes the flow of processing for accessing from the
中継装置3Bの判定部11Bは、Webブラウザ2からリクエストを受信すると、受信したリクエストに含まれるリクエストURLがURL変換フォーマットに適合するか否かを判定する(ステップS61)。リクエストURL「http://server/E.html」のパス部にはWebサーバ4のドメイン名「domain1」が含まれていない。従って、判定部11Bは、リクエストURLがURL変換フォーマットに適合しないと判定する。次に、判定部11Bは、記憶部16Bから通信ログURLとして「http://server/http:domain1/D.html」を読み出す。判定部11Bは、読み出した通信ログURLとリクエストURLとを抽出部13Bに渡す。
When receiving the request from the
抽出部13Bは、判定部11Bから受け取った通信ログURLからプロトコル名とWebサーバ4のドメイン名を抽出する(ステップS62)。ここで抽出されるドメイン名は「domain1」であり、プロトコル名は「http」である。抽出部13Bは、リクエストURL、ドメイン名及びプロトコル名を挿入部14Bに渡す。
The
挿入部14Bは、抽出部13Bによって抽出されたプロトコル名「http」とWebサーバ4のドメイン名「domain1」を、リクエストURLのドメイン部の後ろに挿入する(ステップS63)。これにより、リクエストURLが「http://server/E.html」から「http://server/ http:domain1/E.html」へ変換される。
The
さらに、挿入部14Bは、判定部11Bから受け取ったリクエストに含まれる情報のうちリクエストURLを、変換したリクエストURL「http://server/ http:domain1/E.html」へ置き換える。その後、挿入部14Bは、リクエストURLを置き換えたリクエストを変換部12Bへ渡す。
Further, the
変換部12Bは、URLを変換する。すなわち、変換部12Bは、判定部11Bから受け取ったリクエストに含まれる情報のうちリクエストURLをWebサーバ4のURLに書き換える(ステップS64)。リクエストURLのパス部の最上位階層には「http:domain1」と記述されているため、変換部12は、「http:domain1」のうち「:」よりも後ろの「domain1」をWebサーバ4のドメイン名として特定する。また、変換部12は、「http:domain1」のうち「:」より前の「http」をプロトコル名として特定する。また、リクエストURLのパス部の最上位階層未満の階層は「A.html」と記述されているため、変換部12は、「E.html」をWebサーバ4におけるリソースのパス名として特定する。
The
このように特定したプロトコル名、ドメイン名及びパス名に基づき、変換部12Bは、リクエストURLを「http://server/http:domain1/E.html」から「http://domain1/ E.html」に書き換える。なお、変換部12Bは、上位プロキシが設定されてない場合、リクエストURLを相対パスの記述である「E.html」とする。
Based on the specified protocol name, domain name, and path name, the
変換部12Bは、リクエストURLを書き換えたリクエストを送信する。このリクエストURLのドメイン部にはWebサーバ4のドメイン名が記述されているため、変換部12Bは、このリクエストをWebサーバ4へ送信する(ステップS65)。
The
Webサーバ4は、中継装置3からリクエストを受信すると、HTMLファイル「E.html」の記述をメッセージボディに含むレスポンスを、リクエストの送信元である中継装置3へ送信する(ステップS66)。中継装置3は、このレスポンスをWebブラウザ2へ転送する。これにより、Webブラウザ2は、HTMLファイル「E.html」を取得する。
When receiving the request from the
このように、実施例3の中継装置3Bでは、存在しない上位階層を示す相対パスに基づくリクエストに含まれるリクエストURLを補完し、直接Webサーバへ送信する。そのため、リダイレクト処理にかかる時間を省くことができ、Webサーバからリソースを迅速に取得することができる。
As described above, in the
さて、これまで実施例1〜3について説明したが、上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例4として他の実施例を説明する。 Although the first to third embodiments have been described so far, the present invention may be implemented in various different forms other than the above-described embodiments. Therefore, another embodiment will be described below as a fourth embodiment.
(1)システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図19に示すように、端末装置1’にはローカルプロシキとしての中継装置を配置せず、中継装置3Cを外部プロキシとすることもできる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(1) System Configuration, etc. Further, each component of each illustrated apparatus is functionally conceptual and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. For example, as illustrated in FIG. 19, the
(2)プログラム
図6,12,17,19の中継装置3,3A〜3Cの処理をプログラムにより実行する場合、図20に示すような情報処理装置(コンピュータ)が用いられる。図20の情報処理装置は、Central Processing Unit(CPU)51、メモリ52、入力装置53、出力装置54、外部記憶装置55、可搬記憶媒体駆動装置56、およびネットワーク接続装置57を有し、これらは互いに接続されている。
(2) Program When the processing of the
メモリ52は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)等を含み、処理に用いられるプログラムおよびデータを格納する。CPU51は、メモリ52を利用してプログラムを実行することにより、中継装置と同様の処理を行う。
The
入力装置53は、例えば、キーボード、ポインティングデバイス等であり、オペレータからの指示や情報の入力に用いられる。出力装置54は、例えば、ディスプレイ、プリンタ、スピーカ等であり、オペレータへの問い合わせや処理結果の出力に用いられる。
The
外部記憶装置55は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。情報処理装置は、この外部記憶装置55に、プログラムおよびデータを格納しておき、必要に応じて、それらをメモリ52にロードして使用する。
The
可搬記憶媒体駆動装置56は、可搬記録媒体58の記録内容にアクセスする。可搬記録媒体58は、メモリカード、フレキシブルディスク、光ディスク、光磁気ディスク等の任意のコンピュータ読み取り可能な記録媒体である。オペレータは、この可搬記録媒体58にプログラムおよびデータを格納しておき、必要に応じて、それらをメモリ52にロードして使用する。
The portable storage
ネットワーク接続装置57は、インターネット等の通信ネットワークに接続され、Webブラウザ2及びWebサーバ4との通信に伴うデータ変換を行う。情報処理装置に、Webブラウザ2の機能と中継装置3の機能とが搭載される場合、Webブラウザ2と中継装置3との通信はネットワーク接続装置57を介して行われる。また、情報処理装置は、必要に応じて、プログラムおよびデータを外部の装置からネットワーク接続装置57を介して受け取り、それらをメモリ52にロードして使用する。
The network connection device 57 is connected to a communication network such as the Internet, and performs data conversion accompanying communication with the
(3)その他
実施例1〜3では、WebサーバからHTMLファイルを受信したとき、このHTMLファイルに含まれるリンク先URLをWebブラウザで変換する。これにより、Webブラウザからのリクエストは中継装置を介してWebサーバへ送信される。しかし、Webブラウザでリンク先URLの変換を行うのではなく、中継装置でリンク先URLの変換を行うようにしてもよい。すなわち、Webサーバから送信されるHTMLファイルを中継装置が受信したとき、受信したHTMLファイルに含まれるリンク先URLを中継装置で変換する。そして、その後、変換後のHTMLファイルをWebブラウザへ送信する。
(3) Others In
また、実施例1〜3では、URL変換フォーマットの例として、リクエストURLのパス部の最上位階層が「プロトコル名:Webサーバのドメイン名)」である例を示した。しかし、URL変換フォーマットはこれに限られない。例えば、リクエストURLのパス部の最上位階層が「Webサーバのドメイン名:プロトコル名)」や「プロトコル名−Webサーバのドメイン名)」などをURL変換フォーマットとしてもよい。 In the first to third embodiments, as an example of the URL conversion format, an example is shown in which the highest layer of the path portion of the request URL is “protocol name: domain name of the Web server”. However, the URL conversion format is not limited to this. For example, the highest level of the path portion of the request URL may be “Web server domain name: protocol name” or “protocol name−Web server domain name” ”as the URL conversion format.
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。 The following supplementary notes are further disclosed with respect to the embodiments including the above examples.
(付記1)ブラウザから受信したリクエストに含まれる資源識別子が所定のフォーマットに適合するか否かを判定する判定部と、
前記資源識別子が所定のフォーマットに適合しないと前記判定部により判定されたとき、前記資源識別子のリンク元である資源識別子に含まれるサーバのドメイン名を前記リクエストから抽出する抽出部と、
前記抽出部によって抽出された前記サーバのドメイン名を、前記リクエストに含まれる資源識別子のドメイン部の後ろに挿入する挿入処理を行う挿入部と、
を備えた中継装置。
(Supplementary Note 1) A determination unit that determines whether or not a resource identifier included in a request received from a browser conforms to a predetermined format;
An extraction unit that extracts a domain name of a server included in a resource identifier that is a link source of the resource identifier from the request when the determination unit determines that the resource identifier does not conform to a predetermined format;
An insertion unit that performs an insertion process for inserting the domain name of the server extracted by the extraction unit after the domain part of the resource identifier included in the request;
A relay device comprising:
(付記2)前記リクエストに含まれる資源識別子を記憶する記憶部をさらに備え、
前記抽出部は、前記リンク元である資源識別子が前記リクエストに含まれていないとき、前記記憶部に記憶され、かつ前記所定のフォーマットに適合する資源識別子のうち前記記憶部への記憶が最新の資源識別子から前記サーバのドメイン名を抽出することを特徴とする付記1に記載の中継装置。
(Additional remark 2) The storage part which memorize | stores the resource identifier contained in the said request is further provided,
When the resource identifier which is the link source is not included in the request, the extraction unit is stored in the storage unit, and among the resource identifiers conforming to the predetermined format, the storage unit stores the latest The relay apparatus according to
(付記3)前記挿入処理が行われた資源識別子に対するリダイレクト処理を要求するレスポンスを前記ブラウザに送信する応答部をさらに備えたことを特徴とする付記1又は2に記載の中継装置。
(Supplementary note 3) The relay device according to
(付記4)前記挿入処理が行われた資源識別子のドメイン部を、当該中継装置のドメイン名から前記挿入処理が行われた資源識別子に含まれるサーバのドメイン名へ置き換えて、前記リクエストを変換する変換部をさらに備えたことを特徴とする付記1又は2に記載の中継装置。
(Supplementary Note 4) The request is converted by replacing the domain part of the resource identifier subjected to the insertion processing with the domain name of the server included in the resource identifier subjected to the insertion processing from the domain name of the relay device. The relay device according to
(付記5)コンピュータによって実行される中継方法であって、
ブラウザから受信したリクエストに含まれる資源識別子が所定のフォーマットに適合するか否かを判定し、
前記資源識別子が所定のフォーマットに適合しないと判定されたとき、前記資源識別子のリンク元である資源識別子に含まれるサーバのドメイン名を前記リクエストから抽出し、
前記抽出された前記サーバのドメイン名を、前記資源識別子のドメイン部の後ろに挿入することを特徴とする中継方法。
(Appendix 5) A relay method executed by a computer,
Determine whether the resource identifier included in the request received from the browser conforms to the predetermined format,
When it is determined that the resource identifier does not conform to a predetermined format, a server domain name included in the resource identifier that is a link source of the resource identifier is extracted from the request;
The relay method, wherein the extracted domain name of the server is inserted after the domain part of the resource identifier.
(付記6)前記リクエストに含まれる資源識別子を記憶部に記憶し、
前記リンク元である資源識別子が前記リクエストに含まれていないとき、前記記憶部に記憶され、かつ前記所定のフォーマットに適合する資源識別子のうち前記記憶部への記憶が最新の資源識別子から前記サーバのドメイン名を抽出することを特徴とする付記5に記載の中継方法。
(Supplementary Note 6) A resource identifier included in the request is stored in a storage unit,
When the resource identifier that is the link source is not included in the request, the storage unit stores the resource identifier that is stored in the storage unit and conforms to the predetermined format from the latest resource identifier to the server. 6. The relay method according to appendix 5, wherein the domain name is extracted.
(付記7)前記挿入する処理が行われた資源識別子に対するリダイレクト処理を要求するレスポンスを前記ブラウザに送信することを特徴とする付記5又は6に記載の中継方法。 (Supplementary note 7) The relay method according to Supplementary note 5 or 6, wherein a response requesting a redirect process for the resource identifier subjected to the insertion process is transmitted to the browser.
(付記8)前記挿入する処理が行われた資源識別子のドメイン部を、当該中継装置のドメイン名から前記挿入処理が行われた資源識別子に含まれるサーバのドメイン名へ置き換えて、前記リクエストを変換することを特徴とする付記5又は6に記載の中継方法。 (Supplementary note 8) The request is converted by replacing the domain part of the resource identifier subjected to the insertion processing with the domain name of the server included in the resource identifier subjected to the insertion processing from the domain name of the relay device. The relay method according to appendix 5 or 6, characterized in that:
(付記9)コンピュータに、
ブラウザから受信したリクエストに含まれる資源識別子が所定のフォーマットに適合するか否かを判定し、
前記資源識別子が所定のフォーマットに適合しないと前記判定工程により判定されたとき、前記資源識別子のリンク元である資源識別子に含まれるサーバのドメイン名を前記リクエストから抽出し、
前記抽出された前記サーバのドメイン名を、前記資源識別子のドメイン部の後ろに挿入する処理を実行させることを特徴とする中継プログラム。
(Appendix 9)
Determine whether the resource identifier included in the request received from the browser conforms to the predetermined format,
When the determination step determines that the resource identifier does not conform to a predetermined format, a server domain name included in the resource identifier that is a link source of the resource identifier is extracted from the request,
A relay program for executing a process of inserting the extracted domain name of the server after the domain part of the resource identifier.
(付記10)コンピュータに、前記リクエストに含まれる資源識別子を記憶部に記憶し、
前記リンク元である資源識別子が前記リクエストに含まれていないとき、前記記憶部に記憶され、かつ前記所定のフォーマットに適合する資源識別子のうち前記記憶部への記憶が最新の資源識別子から前記サーバのドメイン名を抽出する処理を実行させることを特徴とする付記9に記載の中継プログラム。
(Supplementary Note 10) In a computer, a resource identifier included in the request is stored in a storage unit,
When the resource identifier that is the link source is not included in the request, the storage unit stores the resource identifier that is stored in the storage unit and conforms to the predetermined format from the latest resource identifier to the server. The relay program according to appendix 9, wherein a process for extracting the domain name is executed.
(付記11)コンピュータに、前記挿入処理が行われた資源識別子に対するリダイレクト処理を要求するレスポンスを前記ブラウザに送信する処理を実行させることを特徴とする付記9又は10に記載の中継プログラム。 (Additional remark 11) The relay program of Additional remark 9 or 10 which makes a computer perform the process which transmits the response which requests | requires the redirect process with respect to the resource identifier in which the said insertion process was performed to the said browser.
(付記12)コンピュータに、前記挿入処理が行われた資源識別子のドメイン部を、当該中継装置のドメイン名から前記挿入処理が行われた資源識別子に含まれるサーバのドメイン名へ置き換えて、前記リクエストを変換することを特徴とする付記9又は10に記載の中継プログラム。 (Supplementary Note 12) The computer replaces the domain part of the resource identifier subjected to the insertion processing with the domain name of the server included in the resource identifier subjected to the insertion processing from the domain name of the relay device. The relay program according to appendix 9 or 10, wherein the relay program is converted.
1,1’ 端末装置
2 Webブラウザ
3,3A,3B,3C 中継装置
4 Webサーバ
5 ネットワーク
11,11A,11B 判定部
12,12A,12B 変換部
13,13A,13B 抽出部
14,14A,14B 挿入部
15,15A 応答部
16A 記憶部
1, 1 '
Claims (6)
前記資源識別子が所定のフォーマットに適合しないと前記判定部により判定されたとき、前記資源識別子のリンク元である資源識別子に含まれるサーバのドメイン名を前記リクエストから抽出する抽出部と、
前記抽出部によって抽出された前記サーバのドメイン名を、前記リクエストに含まれる資源識別子のドメイン部の後ろに挿入する挿入処理を行う挿入部と、
を備えた中継装置。 A determination unit that determines whether or not a resource identifier included in a request received from a browser conforms to a predetermined format;
An extraction unit that extracts a domain name of a server included in a resource identifier that is a link source of the resource identifier from the request when the determination unit determines that the resource identifier does not conform to a predetermined format;
An insertion unit that performs an insertion process for inserting the domain name of the server extracted by the extraction unit after the domain part of the resource identifier included in the request;
A relay device comprising:
前記抽出部は、前記リンク元である資源識別子が前記リクエストに含まれていないとき、前記記憶部に記憶され、かつ前記所定のフォーマットに適合する資源識別子のうち前記記憶部への記憶が最新の資源識別子から前記サーバのドメイン名を抽出することを特徴とする請求項1に記載の中継装置。 A storage unit for storing a resource identifier included in the request;
When the resource identifier which is the link source is not included in the request, the extraction unit is stored in the storage unit, and among the resource identifiers conforming to the predetermined format, the storage unit stores the latest The relay apparatus according to claim 1, wherein a domain name of the server is extracted from a resource identifier.
ブラウザから受信したリクエストに含まれる資源識別子が所定のフォーマットに適合するか否かを判定し、
前記資源識別子が所定のフォーマットに適合しないと判定されたとき、前記資源識別子のリンク元である資源識別子に含まれるサーバのドメイン名を前記リクエストから抽出し、
前記抽出された前記サーバのドメイン名を、前記資源識別子のドメイン部の後ろに挿入することを特徴とする中継方法。 A relay method executed by a computer,
Determine whether the resource identifier included in the request received from the browser conforms to the predetermined format,
When it is determined that the resource identifier does not conform to a predetermined format, a server domain name included in the resource identifier that is a link source of the resource identifier is extracted from the request;
The relay method, wherein the extracted domain name of the server is inserted after the domain part of the resource identifier.
ブラウザから受信したリクエストに含まれる資源識別子が所定のフォーマットに適合するか否かを判定し、
前記資源識別子が所定のフォーマットに適合しないと判定されたとき、前記資源識別子のリンク元である資源識別子に含まれるサーバのドメイン名を前記リクエストから抽出し、
前記抽出された前記サーバのドメイン名を、前記資源識別子のドメイン部の後ろに挿入する処理を実行させることを特徴とする中継プログラム。 On the computer,
Determine whether the resource identifier included in the request received from the browser conforms to the predetermined format,
When it is determined that the resource identifier does not conform to a predetermined format, a server domain name included in the resource identifier that is a link source of the resource identifier is extracted from the request;
A relay program for executing a process of inserting the extracted domain name of the server after the domain part of the resource identifier.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010192855A JP5488349B2 (en) | 2010-08-30 | 2010-08-30 | Relay device, relay method, and relay program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010192855A JP5488349B2 (en) | 2010-08-30 | 2010-08-30 | Relay device, relay method, and relay program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012048679A JP2012048679A (en) | 2012-03-08 |
JP5488349B2 true JP5488349B2 (en) | 2014-05-14 |
Family
ID=45903425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010192855A Expired - Fee Related JP5488349B2 (en) | 2010-08-30 | 2010-08-30 | Relay device, relay method, and relay program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5488349B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9313252B2 (en) * | 2012-04-20 | 2016-04-12 | Microsoft Technology Licensing, Llc | Binding crud-type protocols in distributed agreement protocols |
JP6151508B2 (en) * | 2012-12-10 | 2017-06-21 | 株式会社ディアイティ | Relay device, relay method, and relay program |
JP6081845B2 (en) * | 2013-03-29 | 2017-02-15 | Kddi株式会社 | Web content distribution device |
JP6081847B2 (en) * | 2013-03-29 | 2017-02-15 | Kddi株式会社 | Web content distribution device |
US10681147B2 (en) * | 2016-08-15 | 2020-06-09 | Saturn Licensing Llc | URLs for acquiring or transmitting data |
JP6317506B2 (en) * | 2017-05-24 | 2018-04-25 | 株式会社ディアイティ | Relay device, relay method, and relay program |
JP6608476B2 (en) * | 2018-03-29 | 2019-11-20 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Relay device, relay method, and relay program |
-
2010
- 2010-08-30 JP JP2010192855A patent/JP5488349B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012048679A (en) | 2012-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5488349B2 (en) | Relay device, relay method, and relay program | |
CA2732540C (en) | Methods for optimizing a web content proxy server and devices thereof | |
JP2004029939A (en) | Communication proxy device and service providing method using the same device | |
US10089395B2 (en) | Third party content integration for search engine optimization | |
US20150019676A1 (en) | Methods and devices for exchanging data | |
JP5347429B2 (en) | Uniform resource locator rewriting method and apparatus | |
US20110004623A1 (en) | Web page relay apparatus | |
CN103888540A (en) | Login information synchronization method, synchronized network servers and synchronizing network servers | |
Snell | Prefer header for http | |
JP2006018795A (en) | Web sharing system, web sharing method, web sharing program, relay server, and www browser display device | |
US8407583B2 (en) | Information processing apparatus, information processing method, computer-readable medium and computer data signal | |
De | Designing a RESTful API Interface | |
JP6317506B2 (en) | Relay device, relay method, and relay program | |
Waher et al. | Xep-0322: Efficient xml interchange (exi) format | |
US8200748B2 (en) | System and method for directing data retrieval requests to a data retrieval device | |
Waher | Efficient XML Interchange (EXI) Format | |
JP2007249481A (en) | Update detection system for web site and update detection method for web site | |
JP6151508B2 (en) | Relay device, relay method, and relay program | |
JP6608476B2 (en) | Relay device, relay method, and relay program | |
JP4882738B2 (en) | Client device, communication method, and program | |
JP2010181946A (en) | Communication system, terminal equipment, content obtaining method, and program | |
US7689669B2 (en) | System and method for accessing a process control automation device from a network client | |
JP5699721B2 (en) | Request processing program, request processing apparatus, and request processing method | |
JP5500020B2 (en) | Web application providing method, relay server device, and Web server device | |
JP2012043163A (en) | Method, apparatus and program for cooperation of web application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130604 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140123 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140128 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140210 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5488349 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |