JP5146088B2 - ウェブ情報中継方法及び装置 - Google Patents

ウェブ情報中継方法及び装置 Download PDF

Info

Publication number
JP5146088B2
JP5146088B2 JP2008120734A JP2008120734A JP5146088B2 JP 5146088 B2 JP5146088 B2 JP 5146088B2 JP 2008120734 A JP2008120734 A JP 2008120734A JP 2008120734 A JP2008120734 A JP 2008120734A JP 5146088 B2 JP5146088 B2 JP 5146088B2
Authority
JP
Japan
Prior art keywords
relay
host name
relay server
extracted
uniform resource
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
Application number
JP2008120734A
Other languages
English (en)
Other versions
JP2009271676A (ja
Inventor
暁生 下野
昭彦 松尾
憲二 大木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008120734A priority Critical patent/JP5146088B2/ja
Publication of JP2009271676A publication Critical patent/JP2009271676A/ja
Application granted granted Critical
Publication of JP5146088B2 publication Critical patent/JP5146088B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P20/00Technologies relating to chemical industry
    • Y02P20/50Improvements relating to the production of bulk chemicals
    • Y02P20/52Improvements relating to the production of bulk chemicals using catalysts, e.g. selective catalysts

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、中継サーバによるマッシュアップサービスのためのウェブ情報中継方法及び装置に関する。
近年、Web2.0、Software as a Service (SaaS)等の文脈の中で、Webは「閲覧されるもの」としてのみではなく、「マッシュアップして使われるもの」としての役割を担うようになっている。マッシュアップにより、あるドメインのWebアプリケーションから他のドメインのWebアプリケーションのデータを利用することが可能になる。
一般にマッシュアップを行うには、対象となるシステムがマッシュアップを前提にあらかじめ設計・実装されている必要がある。しかし、企業内の巨大なWebシステム等では、マッシュアップにより大きな効果を生むもものの、そのための改修には莫大な費用がかかり現実的でない。このため、既存のWebシステムに全く改修を加えずに、Webページをマッシュアップする方法が望まれている。
このような問題の解決に結びつく技術として、他のサイトの内容を機械的に翻訳してユーザに提供する翻訳サイト等のような、コンテンツフィルタという技術がある。コンテンツフィルタ技術によれば、ユーザのブラウザからのアクセスを一旦中継サーバで受け、中継サーバが目的サーバにアクセスし、その内容を取得して翻訳等の加工を加えた上で、ユーザのブラウザに送信する。
この技術を応用し、中継サーバにおいて別のWebアプリケーションとのマッシュアップを行うコードを挿入し、ブラウザに送信することで、既存アプリに改修を加えなくてもマッシュアップが可能になる。
中継サーバ経由で目的サーバにアクセスするため、ユーザには目的サーバのUniform Resource Locator(URL、ユニフォームリソースロケータ)ではなく、特殊な加工を施したURLを指定させることになる。URL指定方法としては、Common Gateway Interface(CGI)パラメタを使用した方式やパスを使用した方式、Contents Delivery Network (CDN)で使われた方式等、いくつかの方式が提案され、実際に運用されている。
CGIパラメタを使用した方式では、以下の例に示されるように、アクセス対象のURLがCGI経由のURLに変更される。

対象URL http://target.example/contact/services/
CGI経由URL
http://relay.example/?url=http://target.example/contact/services/

また、パスを使用した方式では、以下の例に示されるように、アクセス対象のURLがCGI経由のURLに変更される(例えば、特許文献1を参照)。

対象URL http://target.example/contact/services/
CGI経由URL http://relay.example/target.example/contact/services/

さらに、CDNで使われた方式では、以下の例に示されるように、アクセス対象のホス
ト名を書き換えてユーザにアクセスしてもらうことで、CDN経由のキャッシュを返す処理を実現している(例えば、非特許文献1を参照)。

対象URL http://target.example/contact/services/
CDN経由URL http://target.example.relay.example/contact/services/

特開2006−018795号公報 "The Coral Content Distribution Network"、[online]、[平成20年4月11日検索]、インターネット<URL:http://www.coralcdn.org >
上述した従来の中継方法には、次のような問題がある。
Webシステム、特に企業内のWebシステムにおいてはセキュリティの確保が重要な課題となっているが、従来のコンテンツフィルタ技術を用いて中継サーバを利用した場合、このセキュリティの確保ができないという問題がある。具体的には、以下の通りである。
(1)CGIパラメタを使用した方式及びパスを使用した方式では、URLがすべてrelay.example という同一ドメインに属するパスになってしまうため、ブラウザに備わっているsame origin policyというセキュリティのための機構が働かなくなってしまう。
つまり、中継サーバを経由してあるサイトAのページを閲覧中に、別のサイトBにアクセスした場合、ブラウザからはどちらのサイトもrelay.example というドメインに属するページだと認識されてしまう。このため、サイトAのページに悪意のあるスクリプトが記述されていると、サイトBとやり取りした情報がサイトAに盗まれてしまう危険性があり、システム間連携においては重要な問題となる。
(2)CDNで使われた方式では、中継サーバを経由しても、別々のホストが同一ドメインと認識されることはないため、上記(1)のような問題は生じない。しかしながら、現在Webシステムを用いる上で重要なセキュリティ技術であるHypertext Transfer Protocol Security(HTTPS)を用いる場合、CDNで使われた方式では問題がある。
HTTPS仕様においては、1つのInternet Protocol (IP)アドレスに対して1つのSecure Socket Layer (SSL)証明書しか対応させることができないため、relay.exampleサーバがSSL証明書を取得したとしても、それはrelay.exampleというドメインのみで有効である。つまり、target.example.relay.example というアドレスに対してはサーバの正当性を証明することができない。
ワイルドカードSSL証明書という方法も存在するが、例えば、*.relay.exampleというアドレスの証明書はrelay.exampleの上の1階層分しか有効でない。このため、example.relay.exampleに対しては正当性を証明できても、target.example.relay.example に対しては証明することができない。したがって、ユーザに対して、正当性を確認できない状態で中継サーバを利用させることになり、セキュリティ上の大きな不安要素となる。
このように、従来の中継方法では、上記(1)及び(2)の問題を同時に解決することができない。same origin policyによるセキュリティの確保及びHTTPSによる通信のセキュリティの確保は、Webシステムを用いる上で必須の要件であり、既存のWebシステムにおけるマッシュアップ実現のために、この2つの要件を同時に満足させる中継方法が求められている。
本発明の課題は、中継サーバによるマッシュアップサービスにおいて、same origin po
licyによるセキュリティ及びHTTPSによるセキュリティを両立させることである。
開示の中継サーバによるウェブ情報中継方法は、受信ステップ、編集ステップ、及び送信ステップを含む。
受信ステップは、クライアントからのリクエストを受信する。編集ステップは、受信したリクエストに対応するウェブページを編集する際に、マッシュアップ対象のページに記述されたユニフォームリソースロケータ情報を抽出し、抽出されたユニフォームリソースロケータ情報のホスト名のドットを別の文字に置換するとともに、中継サーバのホスト名を付加する。送信ステップは、編集後のウェブページをクライアントへ送信する。
このようなウェブ情報中継方法によれば、マッシュアップ対象のページに記述されたURL情報からWebサイト毎に異なるホスト名が生成されるため、same origin policyによるセキュリティが確保される。また、ホスト名のドットを別の文字に置換することにより、中継サーバのホスト名より前の部分が1階層分の文字列に編集されるため、上述したワイルドカードSSL証明書を用いることが可能になる。
中継サーバによるマッシュアップサービスにおいて、same origin policyによるセキュリティ及びHTTPSによるセキュリティを両立させることができる。
以下、図面を参照しながら、本発明を実施するための最良の形態を詳細に説明する。
図1は、実施形態の中継システムの構成例を示している。この中継システムは、クライアント101、中継サーバ102、及び目的サーバ104〜106を備える。これらの装置は、インターネットのような通信ネットワークを介して互いに通信することができる。
この中継システムでは、目的サーバ104が提供するサービスを目的サーバ105や目的サーバ106が提供するサービスとつなげて利用するため、ユーザはクライアント101から中継サーバ102を介して各目的サーバにアクセスする。そして、もともと他のシステムと連携できるように設計されていない各目的サーバの入出力を、中継サーバ102で加工して連携可能な入出力に置き換えることにより、システム間連携が実現される。
例えば、relay.example というドメインで中継サーバ102を運用する場合、WebサイトのURLのFully Qualified Domain Name (FQDN、完全修飾ドメイン名)部分を、以下のように書き換える。

(ex1)
http://target.example/
→http(s)://http-target-example.relay.example/

(ex2)
https://target.number2.example/path/
→http(s)://https-target-number2-example.relay.example/path/

(ex3)
http://with-hyphen.example/
→http(s)://http-with--hyphen-example.relay.example/

(ex4)
http://with.port.example:8080/
→http(s)://http-with-port-example--8080.relay.example/

ex1〜ex4では、FQDNの“. ”(ドット)が“- ”(ハイフン)に置換されるとともに、中継サーバ102のホスト名relay.exampleが付加されている。さらに、ex3では、FQDNのハイフンがハイフン2つに置換されており、ex4では、FQDNのポート番号8080が取り出され、http-with-port-exampleの後ろにハイフン2つで連結されている。これにより、元URLのFQDNが書き換え後のURLのホスト名にエンコードされる。
このような書き換え後のURLを用いることで、クライアント101から中継サーバ102を介してWebサイトにアクセスすることが可能になる。中継サーバ102は、そのWebサイトからレスポンスを加工して、クライアント101に返送する。このとき、テキスト置換により以下の変換も併せて行われる。
1.httpから始まる絶対パス記述を上記書き換えルールに従って変換する。
2.すでに上記書き換えルールに従っているパスは変換しない。
この中継方法の特長は以下の通りである。
1.システム間連携に必要な以下の2点のセキュリティを両立させることができる。
(1)ワイルドカードSSL証明書を利用することで、中継サーバのサーバ認証が可能 になる。上記のex1〜ex4では、Common Name (CN)を*.relay.example としてワイルドカードSSL証明書を取得すればよい。
(2)異なるホストは異なるサブドメインにマップされるため、Cross Site Scripting(XSS)攻撃を回避できる。
2.レスポンスのHyperText Markup Language (HTML)文書のDocument Object Model (DOM)解析及びパス解決が不要なため、中継処理の負担が軽い。
3.ユーザが一度この形式のURLにアクセスすると、リンクをたどるいわゆるWebブラウズ行為を通して、自然にずっと中継サーバ102経由のアクセスが保たれる。
図2は、中継サーバ102による中継動作の例を示している。この例では、目的サーバ203上のhttp://target.example/path というWebサイトに中継サーバ102経由でアクセスするため、クライアント101のブラウザは、http://http-target-example.relay.example/pathにアクセスする。
中継サーバ102は、CNを*.relay.example としたワイルドカードSSL証明書202を保持している。また、Domain Name Server(DNS、ドメイン名サーバ)201は、*.relay.example というホスト名を含むリクエストをすべて中継サーバ102に送るように設定されている。具体的な動作手順は、以下の通りである。
(1)DNS201は、ホスト名解決を行って中継サーバ102のIPアドレスをクライアント101に返す。
(2)ブラウザは、中継サーバ102に対して、/pathに対するリクエストを発行する。
(3)中継サーバ102は、リクエストヘッダからhttp-target-exampleという文字列を取得し、これをhttp://target.exampleに変換する。そして、http://target.exampleを/pathというパス情報と合わせて、http://target.example/pathへのリクエストを発行し、目的サーバ203からのレスポンスを受信する。
(4)レスポンスのMultipurpose Internet Mail Extension(MIME)タイプに応じて、レスポンスに対する所定の加工を行う。リンクを伴うコンテンツタイプの場合は、単純テキスト置換で絶対パスの書き換えを行う。この場合、DOM解析は不要なので処理が高速になる。画像等のように加工の必要のないコンテンツに対しては、何も行わない。
(5)加工されたレスポンスをクライアント101に返す。ここで返されるHTML文書上のパスは、やはり中継サーバ102を経由するものになるが、そのパスへのアクセスも同様に処理されるため、再帰的に整合性の取れたページがブラウザ画面に表示される。
図3は、中継サーバ102の構成例を示している。図3の中継サーバ102は、要求受付部301、サブドメイン解釈部302、要求転送部303、クライアントセッション管理部304、ユーザ情報格納部305、証明書格納部306、応答転送部307、応答変換部308、応答解釈部309、及び応答受付部310を備える。
要求受付部301は、クライアント101からのリクエストを受信し、サブドメイン解釈部302は、リクエスト中のサブドメイン部分を解釈し、要求転送部303は、目的サーバにリクエストを転送する。
応答受付部310は、目的サーバからのレスポンスを受信し、応答解釈部309は、レスポンスの内容を解釈し、応答変換部308は、レスポンスの内容を変換し、応答転送部307は、変換後のレスポンスをクライアント101に返送する。例えば、ハイパーテキストの場合は応答変換部308により変換されるが、画像等の場合は応答変換部308をバイパスして応答転送部307に転送される。
ユーザ情報格納部305は、クライアント101のユーザのユーザ名、パスワード等のユーザ情報を格納し、クライアントセッション管理部304は、そのユーザ情報を用いてクライアント101とのセッションを管理する。
証明書格納部306は、ワイルドカードSSL証明書を格納し、中継サーバ102は、クライアント101とHTTPS通信を行う際にこの証明書を参照する。これにより、HTTPSアクセスに対するサーバ認証が行なわれ、安全なSSLハンドシェイクが可能になる。
サブドメイン解釈部302は、リクエストに対するURL逆変換加工を行う。例えば、クライアント101が要求してきたURLがhttp://http-with-port-example--8080.relay.example/index.htmlである場合、そのホスト名部分http-with-port-example--8080から、元URLのプロトコル部分、FQDN部分、及びポート番号部分を抽出する。そして、抽出した部分にパス名を結合することで、元URLであるhttp://with.port.example:8080/index.htmlを生成する。
要求転送部303は、このURLへのアクセスを行ってレスポンスを取得する。応答解釈部309は、レスポンスのMIMEタイプを解釈し、変換が必要な情報のみを応答変換部308に転送する。
応答変換部308は、レスポンスに対してマッシュアップ用のスクリプト等を挿入したり、URL変換加工を行ったりすることで、レスポンスのWebページを編集する。URL変換加工では、レスポンスに含まれるURLのうち、httpから始まる絶対パス記述が所定のルールに従って変換され、中継サーバ102経由のURLに書き換えられる。ただし、レスポンス中のURLが既にこの形式になっている場合は、書き換えを行わない。
クライアントセッション管理部304は、利用権限のないユーザからのアクセスを制限するため、クライアント101からの初回利用時には認証画面を出力し、あらかじめ登録してあるユーザ名とパスワードの入力を求める。入力内容がユーザ情報格納部305のユーザ情報と一致しない場合は、そのクライアント101による利用を許可しない。
ユーザが認証されると、中継サーバ102は、クッキー、認証ヘッダ等の情報をクライアント101と目的サーバの間でそのまま転送し、中継時にこれらの情報の書き換えは行わない。
次に、図4から図15までを参照しながら、クライアント101から受信したリクエスト及び目的サーバから受信したレスポンスの加工方法について説明する。
図4及び図5は、サブドメイン解釈部302によるリクエストの加工例を示している。この例では、リクエストに含まれる情報のうち、メソッド、パス、及びメッセージボディは加工されない。一方、ホスト及びポートはURL逆変換加工により変換され、ヘッダは図5に示すように加工される。ヘッダに含まれる情報のうち、Host及びReferer はURL逆変換加工により変換され、Accept、If-Modified-Since 、及びUser-Agentは加工されない。例えば、図6のようなリクエストヘッダは、加工されて図7のようなリクエストヘッダに変換される。
図8及び図9は、応答変換部308によるレスポンスの加工例を示している。この例では、レスポンスに含まれる情報のうち、応答コードは加工されない。MIMEタイプを示すContent-typeがtext/*である場合は、メッセージボディの全体に対してURL変換加工が行われる。さらに、Content-typeがtext/htmlである場合は、SCRIPTタグが挿入される。ただし、Framesetタグが発見されたときは、SCRIPTタグの挿入は行われない。
ヘッダは図9に示すように加工される。ヘッダに含まれる情報のうち、Content-type、Content-Disposition 、Connection、Content-Language、及びExpires は加工されない。Content-Lengthは、加工後のコンテンツの長さに変更され、Set-Cookieは、中継サーバ102でセッション管理を行う場合は加工される。Locationは、URL変換加工により変換され、WWW-Authenticateは、後述するシングルサインオンを行う場合を除いて加工されない。
例えば、図10のようなレスポンスヘッダは、加工されて図11のようなレスポンスヘッダに変換され、図12のようなメッセージボディは、加工されて図13のようなメッセージボディに変換される。
この場合、図10のContent-Lengthは、6110から6432に変換され、図13のメッセージボディには、SCRIPTタグが挿入されている。このレスポンスを受信したクライアント101のブラウザは、SCRIPTタグにより指定されたスクリプトを使用して出力情報を加工する。
ユーザは、目的サーバと挿入したいスクリプトの組をユーザ情報として、あらかじめ中継サーバ102に登録しておくこともできる。この場合、クライアントセッション管理部304は、ユーザ情報を参照してユーザを特定し、応答変換部308は、その指定に応じたスクリプトをメッセージボディに挿入する。
図8及び図9に示したURL変換加工としては、サブドメイン名(ホスト名)に適用可能な文字列パターンの可逆変換(エンコーディング)であれば、いかなる変換方法でも用いることができる。このような可逆変換の具体例としては、所定の変換ルールによるテキスト置換、暗号化等が考えられる。図4及び図5に示したURL逆変換加工は、この可逆変換の逆変換である。
テキスト置換を用いたURL変換加工の具体例としては、前述したex1〜ex4が挙げられる。この場合の加工手順は、以下の通りである(図14を参照)。
1.入力URLからプロトコル、FQDN、及びポート番号(省略されているときを除く
)の文字列を取り出す(ステップ401)。
2.FQDN文字列にハイフンが含まれていれば(ステップ402)、これをハイフン2つに置換する(ステップ403)。
3.上記2で生成された文字列のドットをハイフンに置換する(ステップ404)。
4.上記1で取り出したプロトコル文字列(http、https 等)を、上記3で生成された文字列の前にハイフンで連結する(ステップ405)。
5.上記1で取り出したポート番号文字列があれば(ステップ406)、上記4で生成された文字列の後ろにハイフン2つで連結する(ステップ407)。
6.上記5で生成された文字列をホスト名として、中継サーバ102のドメイン(relay.example)に付加する形で、出力URLを生成する(ステップ408)。
図12のメッセージボディに含まれているhttp://target.example/foo.html というURLは、このURL変換加工により、図13のhttp://http-target-example.relay.example/foo.htmlに変換される。
一方、URL逆変換加工の加工手順は、以下の通りである(図15を参照)。
1.入力URLのホスト名文字列(FQDNの一番左側の要素)を取り出す(ステップ501)。
2.上記1で取り出した文字列は先頭がhttp- またはhttps-で始まっているはずなので、この先頭文字列をプロトコル文字列とする(ステップ502)。
3.上記1で取り出した文字列の末尾がハイフン2つに続く数字列となっていれば(ステップ503)、この数字列をポート番号文字列とする(ステップ504)。そうでない場合は、ポート番号文字列は省略する。
4.上記1で取り出した文字列から、上記2及び3で解釈に用いた先頭及び末尾の文字列を削除する(ステップ505)。
5.上記4で残った文字列のハイフンをすべてドットに置換する(ステップ506)。
6.上記5で生成された文字列にドットが2つ連続して現れれば(ステップ507)、その2つのドットを1つのドットに置換し、FQDN文字列を生成する(ステップ508)。
7.上記2で取り出したプロトコル文字列、上記6で生成されたFQDN文字列、及び上記3で取り出したポート番号文字列を用いて、出力URLを生成する(ステップ509)。
図6のリクエストヘッダのHost及びReferer に含まれているhttp-target-example.relay.exampleという文字列は、このURL逆変換加工により、図7のtarget.example に変換される。
以上のURL変換加工及びURL逆変換加工の例では、置換文字としてハイフンを用いているが、他の文字を置換文字として用いても構わない。例えば、ハイフンの代わりにアルファベットの“j "を用いた場合、URL変換加工は次のようになる。

(ex5)
http://target.example/
→http(s)://httpjtargetjexample.relay.example/

さらに、次に示すように、上記ex5で得られた文字列の順序を反転させる加工を追加してもよい。

(ex6)
http://target.example/
→http(s)://httpjtargetjexample.relay.example/
→http(s)://elpmaxejtegratjptth.relay.example/

また、次に示すように、置換文字としてハイフンを用いた文字列の末尾にユーザ名を付加する加工を追加してもよい。

(ex7)
http://target.example/
→http(s)://http-target-example.relay.example/
→http(s)://http-target-example-sato.relay.example/

さらに、次に示すように、上記ex7で得られた文字列の末尾に「本日」の日付を付加する加工を追加してもよい。

(ex8)
http://target.example/
→http(s)://http-target-example.relay.example/
→http(s)://http-target-example-sato.relay.example/
→http(s)://http-target-example-sato-20080415.relay.net/

さらに、次に示すように、上記ex8で得られた文字列の5文字目以降を換字暗号で変換する加工を追加してもよい。

(ex9)
http://target.example/
→http(s)://http-target-example.relay.example/
→http(s)://http-target-example-sato.relay.example/
→http(s)://http-target-example-sato-20080415.relay.example/
→http(s)://http7jkh2zj7ztk6g5z7ikjf7v8838-r0.relay.example/

上記ex9で用いた換字暗号を1行のPractical Extraction and Report Language(Perl)プログラムで記述すると、次のようになる。ただし、可逆暗号化の種類及び方式はこれに限られない。

暗号 perl -pe "tr/abcdefghijklmnopqrstuvwxyz\-0123456789/klxyz12abpq56efg9hijmnstuo78rvc\-0dw34/"

復号 perl -pe "tr/klxyz12abpq56efg9hijmnstuo78rvc\-0dw34/abcdefghijklmnopqrstuvwxyz\-0123456789/"

人間にとっての可読性や計算機資源の節約を考慮すると、ハイフンを用いたテキスト置換が最も実用的と考えられる。しかし、目的サーバのURLをユーザから隠蔽する等の特殊な用途においては、その用途に応じて適切な変換ルールを用いることが可能である。
以上のような中継方法によれば、次のような効果が得られる。
(1)中継サーバを適切に設定することにより、既存のWebページ及びWebアプリケーションに対して全く手を加えることなく、外部からスクリプト挿入等を行った改造版をユーザに提供することができる。
(2)元ドメインが異なるURLは中継サーバを経由しても別のドメインとして扱われる
ため、中継サーバ経由で複数のWebサイトにアクセスしているような状況でも、ブラウザ側のsame origin policyによって悪意のあるサイトからWebシステムを守ることが可能になる。
(3)中継サーバ経由の全URLに対して有効なワイルドカードSSL証明書を事前に用意することができるため、ユーザのブラウザでサーバの正当性が確認でき、中継サーバ利用時の不安要素をなくすことができる。
(4)特に大規模な企業システム等に対して少しでも機能追加を行うためには、小規模とはいえプログラムに変更を加えることになる。このため、多くの場合、全機能の再テストが必要となり、コスト面で現実的ではない。しかし、中継サーバを用いることにより、既存システムに全く手を加えることなく、出力加工により対応できる範囲内で機能追加や機能変更が可能になる。Asynchronous JavaScript + XML (Ajax)等のWebアプリケーションにおけるクライアント技術の台頭により、出力加工により対応できる範囲は非常に広がっており、特に他のシステムとの連携等を柔軟に行えるようになる。
図3の中継サーバの処理をソフトウェアにより実装する場合、図16に示すような情報処理装置(コンピュータ)が用いられる。図16の情報処理装置は、Central Processing
Unit (CPU)1401、メモリ1402、入力装置1403、出力装置1404、外部記憶装置1405、媒体駆動装置1406、およびネットワーク接続装置1407を備え、それらはバス1408により互いに接続されている。
メモリ1402は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)等を含み、処理に用いられるプログラムおよびデータを格納する。CPU1401は、メモリ1402を利用してプログラムを実行することにより、中継サーバ102と同様の処理を行う。
入力装置1403は、例えば、キーボード、ポインティングデバイス等であり、オペレータからの指示や情報の入力に用いられる。出力装置1404は、例えば、ディスプレイ、プリンタ、スピーカ等であり、オペレータへの問い合わせや処理結果の出力に用いられる。
外部記憶装置1405は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。情報処理装置は、この外部記憶装置1405に、プログラムおよびデータを格納しておき、必要に応じて、それらをメモリ1402にロードして使用する。
媒体駆動装置1406は、可搬記録媒体1409を駆動し、その記録内容にアクセスする。可搬記録媒体1409は、メモリカード、フレキシブルディスク、光ディスク、光磁気ディスク等の任意のコンピュータ読み取り可能な記録媒体である。オペレータは、この可搬記録媒体1409にプログラムおよびデータを格納しておき、必要に応じて、それらをメモリ1402にロードして使用する。
ネットワーク接続装置1407は、インターネット等の通信ネットワークに接続され、クライアント101及び各目的サーバとの通信に伴うデータ変換を行う。また、情報処理装置は、必要に応じて、プログラムおよびデータを外部の装置からネットワーク接続装置1407を介して受け取り、それらをメモリ1402にロードして使用する。
図17は、図16の情報処理装置にプログラムおよびデータを提供する方法を示している。可搬記録媒体1409や外部装置1501のデータベース1511に格納されたプログラムおよびデータは、情報処理装置1502のメモリ1402にロードされる。外部装置1501は、そのプログラムおよびデータを搬送する搬送信号を生成し、通信ネットワ
ーク上の任意の伝送媒体を介して情報処理装置1502に送信する。CPU1401は、そのデータを用いてそのプログラムを実行し、上述した処理を行う。
以上、図1から図17までを参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)中継サーバによるウェブ情報中継方法であって、
クライアントからのリクエストを受信するステップと、
前記リクエストに対応するウェブページを編集する際に、マッシュアップ対象のページに記述されたユニフォームリソースロケータ情報を抽出し、抽出されたユニフォームリソースロケータ情報のホスト名のドットを別の文字に置換するとともに、前記中継サーバのホスト名を付加するステップと、
編集後のウェブページを前記クライアントへ送信するステップと
を含むことを特徴とするウェブ情報中継方法。
(付記2)前記中継サーバは、前記抽出されたユニフォームリソースロケータ情報の完全修飾ドメイン名をホスト名にエンコードし、得られたホスト名に、前記中継サーバのプロトコル、前記中継サーバのホスト名、及び前記抽出されたユニフォームリソースロケータ情報のパス名を結合して、前記中継サーバを経由するためのユニフォームリソースロケータ情報を生成することを特徴とする付記1記載のウェブ情報中継方法。
(付記3)前記中継サーバを経由するためのユニフォームリソースロケータ情報を含むリクエストを前記クライアントから受信するステップと、
前記中継サーバを経由するためのユニフォームリソースロケータ情報に含まれるホスト名を抽出し、抽出されたホスト名から前記中継サーバのホスト名を削除し、残された文字列から、前記ドットを前記別の文字に置換する前のホスト名を生成するステップと、
生成されたホスト名を含むリクエストを目的サーバへ送信するステップと
をさらに含むことを特徴とする付記1又は2記載のウェブ情報中継方法。
(付記4)前記中継サーバにあらかじめ格納されている、前記マッシュアップ対象のページを有する目的サーバとスクリプト情報の組を示す情報を参照して、該目的サーバに対応するスクリプト情報を前記リクエストに対応するウェブページに挿入するステップをさらに含むことを特徴とする付記1、2、又は3記載のウェブ情報中継方法。
(付記5)クライアントからのリクエストを受信する受信部と、
前記リクエストに対応するウェブページを編集する際に、マッシュアップ対象のページに記述されたユニフォームリソースロケータ情報を抽出し、抽出されたユニフォームリソースロケータ情報のホスト名のドットを別の文字に置換するとともに、前記中継サーバのホスト名を付加する編集部と、
編集後のウェブページを前記クライアントへ送信する送信部と
を備えることを特徴とするウェブ情報中継装置。
(付記6)クライアントからのリクエストを受信するステップと、
前記リクエストに対応するウェブページを編集する際に、マッシュアップ対象のページに記述されたユニフォームリソースロケータ情報を抽出し、抽出されたユニフォームリソースロケータ情報のホスト名のドットを別の文字に置換するとともに、前記中継サーバのホスト名を付加するステップと、
編集後のウェブページを前記クライアントへ送信するステップと
を含む処理をコンピュータに実行させるためのプログラム。
中継システムの構成図である。 中継動作を示す図である。 中継サーバの構成図である。 リクエストの加工方法を示す図である。 リクエストヘッダの加工方法を示す図である。 加工前のリクエストヘッダを示す図である。 加工後のリクエストヘッダを示す図である。 レスポンスの加工方法を示す図である。 レスポンスヘッダの加工方法を示す図である。 加工前のレスポンスヘッダを示す図である。 加工後のレスポンスヘッダを示す図である。 加工前のメッセージボディを示す図である。 加工後のメッセージボディを示す図である。 URL変換加工のフローチャートである。 URL逆変換加工のフローチャートである。 情報処理装置の構成図である。 プログラムおよびデータの提供方法を示す図である。
符号の説明
101 クライント
102 中継サーバ
104、105、106、203 目的サーバ
201 DNS
202 ワイルドカードSSL証明書
301 要求受付部
302 サブドメイン解釈部
303 要求転送部
304 クライアントセッション管理部
305 ユーザ情報格納部
306 証明書格納部
307 応答転送部
308 応答変換部
309 応答解釈部
310 応答受付部
1401 CPU
1402 メモリ
1403 入力装置
1404 出力装置
1405 外部記憶装置
1406 媒体駆動装置
1407 ネットワーク接続装置
1408 バス
1501 外部装置
1502 情報処理装置
1511 データベース

Claims (5)

  1. 中継サーバによるウェブ情報中継方法であって、
    クライアントからのリクエストを受信するステップと、
    前記リクエストに対応するウェブページを編集する際に、マッシュアップ対象のページに記述されたユニフォームリソースロケータ情報を抽出し、抽出されたユニフォームリソースロケータ情報のホスト名のドットを別の文字に置換するとともに、前記中継サーバのホスト名を付加するステップと、
    編集後のウェブページを前記クライアントへ送信するステップと
    を含むことを特徴とするウェブ情報中継方法。
  2. 前記中継サーバは、前記抽出されたユニフォームリソースロケータ情報の完全修飾ドメイン名をホスト名にエンコードし、得られたホスト名に、前記中継サーバのプロトコル、前記中継サーバのホスト名、及び前記抽出されたユニフォームリソースロケータ情報のパス名を結合して、前記中継サーバを経由するためのユニフォームリソースロケータ情報を生成することを特徴とする請求項1記載のウェブ情報中継方法。
  3. 前記中継サーバを経由するためのユニフォームリソースロケータ情報を含むリクエストを前記クライアントから受信するステップと、
    前記中継サーバを経由するためのユニフォームリソースロケータ情報に含まれるホスト名を抽出し、抽出されたホスト名から前記中継サーバのホスト名を削除し、残された文字列から、前記ドットを前記別の文字に置換する前のホスト名を生成するステップと、
    生成されたホスト名を含むリクエストを目的サーバへ送信するステップと
    をさらに含むことを特徴とする請求項1又は2記載のウェブ情報中継方法。
  4. クライアントからのリクエストを受信する受信部と、
    前記リクエストに対応するウェブページを編集する際に、マッシュアップ対象のページに記述されたユニフォームリソースロケータ情報を抽出し、抽出されたユニフォームリソースロケータ情報のホスト名のドットを別の文字に置換するとともに、前記中継サーバのホスト名を付加する編集部と、
    編集後のウェブページを前記クライアントへ送信する送信部と
    を備えることを特徴とするウェブ情報中継装置。
  5. クライアントからのリクエストを受信するステップと、
    前記リクエストに対応するウェブページを編集する際に、マッシュアップ対象のページに記述されたユニフォームリソースロケータ情報を抽出し、抽出されたユニフォームリソースロケータ情報のホスト名のドットを別の文字に置換するとともに、前記中継サーバのホスト名を付加するステップと、
    編集後のウェブページを前記クライアントへ送信するステップと
    を含む処理をコンピュータに実行させるためのプログラム。
JP2008120734A 2008-05-02 2008-05-02 ウェブ情報中継方法及び装置 Expired - Fee Related JP5146088B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008120734A JP5146088B2 (ja) 2008-05-02 2008-05-02 ウェブ情報中継方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008120734A JP5146088B2 (ja) 2008-05-02 2008-05-02 ウェブ情報中継方法及び装置

Publications (2)

Publication Number Publication Date
JP2009271676A JP2009271676A (ja) 2009-11-19
JP5146088B2 true JP5146088B2 (ja) 2013-02-20

Family

ID=41438182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008120734A Expired - Fee Related JP5146088B2 (ja) 2008-05-02 2008-05-02 ウェブ情報中継方法及び装置

Country Status (1)

Country Link
JP (1) JP5146088B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5581820B2 (ja) * 2010-06-04 2014-09-03 富士通株式会社 中継サーバ装置、クッキー制御方法およびクッキー制御プログラム
JP5565197B2 (ja) * 2010-08-18 2014-08-06 富士通株式会社 Webアプリケーションの連携方法、連携装置、および連携プログラム
JP5863398B2 (ja) * 2011-11-04 2016-02-16 サイボウズ株式会社 サーバ装置及びサーバ装置の制御方法
JP5811006B2 (ja) * 2012-03-29 2015-11-11 富士通株式会社 情報処理装置、情報処理方法、および情報処理プログラム
JP6350235B2 (ja) * 2014-11-18 2018-07-04 富士通株式会社 情報処理装置、情報処理装置制御方法及び情報処理装置制御プログラム
CN111064713B (zh) * 2019-02-15 2021-05-25 腾讯科技(深圳)有限公司 一种分布式系统中的节点控制方法和相关装置

Also Published As

Publication number Publication date
JP2009271676A (ja) 2009-11-19

Similar Documents

Publication Publication Date Title
JP2005321970A (ja) コンピュータシステム
US8418056B2 (en) Method and apparatus for checkout transition in an e-commerce application
JP5146088B2 (ja) ウェブ情報中継方法及び装置
US20110131408A1 (en) Document link security
EP2144420A1 (en) Web application security filtering
US20030037232A1 (en) Encoding of universal resource locators in a security gateway to enable manipulation by active content
JP2004029939A (ja) 通信プロキシ装置、および、通信プロキシ装置を用いたサービス提供方法
US8201238B1 (en) Remote directory browsing through a secure gateway of a virtual private network
JP2008197973A (ja) ユーザ認証システム
JP2007334411A (ja) 制御プログラムおよび通信システム
US20170093772A1 (en) Method and System for Optimizing and Preventing Failure of Sender Policy Framework (SPF) Lookups
CN114500054B (zh) 服务访问方法、服务访问装置、电子设备以及存储介质
CN105072123A (zh) 一种集群环境下的单点登陆退出方法及系统
JP5347429B2 (ja) ユニフォームリソースロケータ書換方法及び装置
CN101499100B (zh) 电子商务应用中校验转换的方法和设备
JP2007257500A (ja) 被認証装置、被認証プログラム、被認証方法、WebブラウザプラグインおよびWebブラウザブックマークレット
JP2012073878A (ja) アクセス解析装置及びアクセス解析方法及びアクセス解析プログラム
US20090313276A1 (en) Process and device for data conversion, and computer-readable recording medium storing data conversion program
JP6317506B2 (ja) 中継装置、中継方法および中継プログラム
JP4871396B2 (ja) ウェブサイトの閲覧を管理するシステム
CN113824756A (zh) 文件处理方法、装置、存储介质及电子设备
CN110311923A (zh) 一种自适应、双通道的国密算法https访问方法和系统
JP5500020B2 (ja) Webアプリケーション提供方法、中継サーバ装置、Webサーバ装置
JP4728634B2 (ja) クライアントアクセス管理方法および装置
JP4937070B2 (ja) 書類データ管理方法、書類データ作成方法、サーバおよびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121017

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: 20121030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121112

R150 Certificate of patent or registration of utility model

Ref document number: 5146088

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees