JP5151696B2 - ユニフォームリソースロケータ情報を書き換えるプログラム - Google Patents
ユニフォームリソースロケータ情報を書き換えるプログラム Download PDFInfo
- Publication number
- JP5151696B2 JP5151696B2 JP2008143723A JP2008143723A JP5151696B2 JP 5151696 B2 JP5151696 B2 JP 5151696B2 JP 2008143723 A JP2008143723 A JP 2008143723A JP 2008143723 A JP2008143723 A JP 2008143723A JP 5151696 B2 JP5151696 B2 JP 5151696B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- information
- request
- rewriting
- 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
Links
- 238000000034 method Methods 0.000 claims description 69
- 230000005540 biological transmission Effects 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 28
- 230000010365 information processing Effects 0.000 claims description 10
- 230000006870 function Effects 0.000 description 61
- 238000013515 script Methods 0.000 description 32
- 238000004891 communication Methods 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Description
(1)中継サーバでURLを書き換えなければいけないので、中継サーバのリソースを消費する。
(2)クライアント端末がJavaScript等により動的にURLを生成している場合には、URLを書き換えることができない。
(3)非同期通信の場合には、JavaScriptのプログラム等により動的にURLを生成するため、URLを書き換えることができない。
である。
実施形態のURL書換システムでは、中継サーバではなくクライアント端末で、Webサーバへのリクエストに含まれるURLのサーバ名を、中継サーバのサーバ名に書き換える。そのために、中継サーバは、Webサーバから送信されるWebページのHTML文書に、URLを書き換える機能を備える書換プログラム(書換スクリプト)を付加して、クライアント端末に送信する。
window.onload = function(){...}
中継サーバ http://www.mycompany.com/
Webページ http://www.othercompany.com/ap/page.html
(例1) http://www.mycompany.com/?http://www.othercompany.com/ap/page.html
(例2) http://www.othercompnay.com.www.mycompany.com/ap/page.html
例1では、中継サーバ102のURLに続いて“?”が挿入され、WebページのURLが接続されている。また、例2では、中継サーバ102のサーバ名“www.mycompany.com”の手前に元サーバ103のサーバ名“www.othercompnay.com”が挿入され、“www.mycompany.com/”の後ろにWebページのパス名が接続されている。
(1)フォーム
formの場合、リクエスト送信のタイミングは、以下の2種類に分類される。
<a href=“...”>で記述されるaタグによるsubmit動作については、そのhref要素を書き換えてリクエスト先URLが変更されるように、aタグのクリック時の動作を書き換える。
イメージ、スタイルシート、又はスクリプトの場合、対応するimgタグのsrc属性、linkタグのhref属性、又はscriptタグのsrc属性を直接書き換えることで、リクエスト先URLを変更する。例えば、以下のようなタグが記述されている場合を考える。
<img src=“images/myimg.jpg”>
<link type=“stylesheet” href=“css/mypage.css”>
<script src=“scripts/mylib.js”>
<img src=“http://www.mycompany.com/?images/myimg.jpg”>
<link type=“stylesheet” href=“http://www.mycompany.com/?css/mypage.css”>
<script src=“http://www.mycompany.com/?scripts/mylib.js”>
非同期通信でXMLHttpRequestオブジェクトを利用する場合、送信時にリクエスト先URLが変更されるように、オブジェクト自身の定義を書き換える。XMLHttpRequestオブジェクトのURLは、以下のようにopen関数により指定される。
var con = new XMLHttpRequest();
con.open(“GET”, “search”, true);
そこで、open関数の呼び出し時にリクエスト先URLが変更されるように、open関数の第2引数を、中継サーバ102を経由するURLに書き換える。
Webページ111内にJavaScriptが含まれており、Webページ111内で要素が動的に生成される場合、生成関数を書き換える。これにより、生成された要素によるリクエスト送信時に、リクエスト先URLが変更されるようにする。DOM APIは、次のようにして要素を生成する。
var anchor = document.createElement(“a”);
anchor.href = “mypage.html”;
Webページ111内にJavaScriptが含まれており、document.write又はinnerHTMLによりWebページ111が変更される場合、指定される文字列に何が含まれるか分からない。このため、createElement関数のように、生成される要素を想定した処理を行うことができない。この場合の対処方法としては、次の2種類がある。
document.addEventListener(“MutationEvent”, rewrite, true);
これにより、Webページ111の変更時にrewrite関数が呼び出され、rewrite関数によりオブジェクト書換処理を行うことができる。
setInterval(check, 100);
(1)中継サーバでのURL書換処理が不要なため、中継サーバの負荷が劇的に低減される。
(2)クライアント端末が動的にURLを生成している場合でも、URLを書き換えることができる。
(3)非同期通信の場合でも、URLを書き換えることができる。
図9は、ブラウザによる初期化処理のフローチャートである。ブラウザは、まず、中継サーバ102から受信したWebページ111のHTML文書と書換スクリプト112を読み込む(ステップ901)。
各ボタンのtypeが“submit”か否かをチェックする(ステップ1102)。そして、ボタンのtypeが“submit”であれば、そのボタンのクリックリスナとして書換後submit関数を登録する(ステップ1103)。
送信される。
生成された要素がaタグでなければ、次に、その要素がフォームか否かをチェックする(ステップ2102)。生成された要素がフォームであれば、フォームのsubmit関数をsubmit0として保存し(ステップ2105)、フォームのsubmit関数を書換後submit関数に置き換える(ステップ2106)。
(付記1)元サーバのページ情報をクライアントコンピュータに転送する中継サーバから該クライアントコンピュータに、該ページ情報とともに送信されるプログラムであって、
前記クライアントコンピュータが前記ページ情報の記述に基づき前記元サーバへのリクエストを送信するとき、該リクエストに含まれるユニフォームリソースロケータ情報中の該元サーバのサーバ名を前記中継サーバのサーバ名に変更するように、該ページ情報を書き換える処理を前記クライアントコンピュータに実行させることを特徴とするプログラム。
(付記2)前記クライアントコンピュータが前記ページ情報の記述に基づき前記元サーバへのリクエストを生成するための新たな要素情報を生成したとき、該要素情報に基づいて生成されるリクエストに含まれるユニフォームリソースロケータ情報中の前記元サーバのサーバ名を前記中継サーバのサーバ名に変更するための書換情報を、該ページ情報に追加する処理を前記クライアントコンピュータにさらに実行させることを特徴とする付記1記
載のプログラム。
(付記3)前記クライアントコンピュータは、前記新たな要素情報がaタグである場合、該aタグがクリックされたときに生成されるリクエストに含まれるユニフォームリソースロケータ情報を変更するための書換情報を前記ページ情報に追加し、前記新たな要素情報がフォームである場合、該フォームのsubmit関数が実行されたときに生成されるリクエストに含まれるユニフォームリソースロケータ情報を変更するための書換情報を前記ページ情報に追加し、前記新たな要素情報がsubmitボタンである場合、該submitボタンがクリックされたときに生成されるリクエストに含まれるユニフォームリソースロケータ情報を変更するための書換情報を前記ページ情報に追加することを特徴とする付記2記載のプログラム。
(付記4)前記クライアントコンピュータは、前記ページ情報に含まれるフォームのsubmit関数が実行されたとき、又は該フォームのsubmitボタンがクリックされたときに生成されるリクエストに含まれるユニフォームリソースロケータ情報中の前記元サーバのサーバ名を前記中継サーバのサーバ名に変更することを特徴とする付記1又は2記載のプログラム。
(付記5)前記クライアントコンピュータは、前記ページ情報に含まれるaタグがクリックされたときに生成されるリクエストに含まれるユニフォームリソースロケータ情報中の前記元サーバのサーバ名を前記中継サーバのサーバ名に変更することを特徴とする付記1又は2記載のプログラム。
(付記6)前記クライアントコンピュータは、前記ページ情報に含まれるimgタグのsrc属性、linkタグのhref属性、又はscriptタグのsrc属性に記述されたユニフォームリソースロケータ情報中の前記元サーバのサーバ名を前記中継サーバのサーバ名に変更することを特徴とする付記1又は2記載のプログラム。
(付記7)前記クライアントコンピュータは、前記ページ情報に含まれるXMLHttpRequestオブジェクトのopen関数が実行されたときに生成されるリクエストに含まれるユニフォームリソースロケータ情報中の前記元サーバのサーバ名を前記中継サーバのサーバ名に変更することを特徴とする付記1又は2記載のプログラム。
(付記8)元サーバのページ情報と書換プログラムを中継サーバから受信し、
前記書換プログラムを実行することで、ユニフォームリソースロケータ情報中の前記元サーバのサーバ名が前記中継サーバのサーバ名に変更されるように、該ページ情報を書き換え、
前記ページ情報の記述に基づき前記元サーバへのリクエストを生成し、
前記リクエストに含まれるユニフォームリソースロケータ情報中の前記元サーバのサーバ名を前記中継サーバのサーバ名に変更し、
変更後のユニフォームリソースロケータ情報に基づいて前記リクエストを前記中継サーバに送信する
ことを特徴とするリクエスト送信方法。
(付記9)元サーバのページ情報と書換プログラムを中継サーバから受信する受信手段と、
前記書換プログラムを実行することで、ユニフォームリソースロケータ情報中の前記元サーバのサーバ名が前記中継サーバのサーバ名に変更されるように、該ページ情報を書き換える書換手段と、
前記ページ情報の記述に基づき前記元サーバへのリクエストを送信するとき、該リクエストに含まれるユニフォームリソースロケータ情報中の該元サーバのサーバ名を前記中継サーバのサーバ名に変更する変更手段と、
変更後のユニフォームリソースロケータ情報に基づいて前記リクエストを前記中継サーバに送信する送信手段と
を備えることを特徴とする情報処理装置。
12、102 中継サーバ
13、103 元サーバ
21 書換済みWebページ
22、111 Webページ
31、121 送信部
32、122 読込部
33 書換部
34 解析部
112 書換スクリプト
701、702、703 リクエスト
801、802、803 スクリプト部分
2402 メモリ
2403 入力装置
2404 出力装置
2405 外部記憶装置
2406 媒体駆動装置
2407 ネットワーク接続装置
2408 バス
2501 外部装置
2502 情報処理装置
2511 データベース
Claims (5)
- 元サーバのページ情報をクライアントコンピュータに転送する中継サーバから該クライアントコンピュータに、該ページ情報とともに送信されるプログラムであって、
前記クライアントコンピュータが前記ページ情報の記述に基づき前記元サーバへの第1のリクエストを送信するとき、該第1のリクエストに含まれるユニフォームリソースロケータ情報中の該元サーバのサーバ名を前記中継サーバのサーバ名に変更するように、該ページ情報を書き換え、
前記クライアントコンピュータが前記ページ情報の記述に基づき前記元サーバへの第2のリクエストを生成するための新たな要素情報を生成関数を用いて生成したとき、該要素情報に基づいて生成される第2のリクエストに含まれるユニフォームリソースロケータ情報中の前記元サーバのサーバ名を前記中継サーバのサーバ名に変更するように、該生成関数を書き換えるための書換情報を、該ページ情報に追加する
処理を前記クライアントコンピュータに実行させることを特徴とするプログラム。 - 前記クライアントコンピュータは、前記新たな要素情報がaタグである場合、該aタグがクリックされたときに生成される前記第2のリクエストに含まれるユニフォームリソースロケータ情報を変更するように前記生成関数を書き換えるための書換情報を前記ページ情報に追加し、前記新たな要素情報がフォームである場合、該フォームのsubmit関数が実行されたときに生成される前記第2のリクエストに含まれるユニフォームリソースロケータ情報を変更するように前記生成関数を書き換えるための書換情報を前記ページ情報に追加し、前記新たな要素情報がsubmitボタンである場合、該submitボタンがクリックされたときに生成される前記第2のリクエストに含まれるユニフォームリソースロケータ情報を変更するように前記生成関数を書き換えるための書換情報を前記ページ情報に追加することを特徴とする請求項1記載のプログラム。
- 前記クライアントコンピュータは、前記ページ情報に含まれるXMLHttpRequestオブジェクトのopen関数が実行されたときに生成されるリクエストに含まれるユニフォームリソースロケータ情報中の前記元サーバのサーバ名を前記中継サーバのサーバ名に変更することを特徴とする請求項1又は2記載のプログラム。
- 元サーバのページ情報と書換プログラムを中継サーバから受信し、
前記書換プログラムを実行することで、ユニフォームリソースロケータ情報中の前記元サーバのサーバ名が前記中継サーバのサーバ名に変更されるように、該ページ情報を書き換え、
前記ユニフォームリソースロケータ情報中の前記元サーバのサーバ名を前記中継サーバのサーバ名に変更するように生成関数を書き換えるための書換情報を、前記ページ情報に追加し、
前記ページ情報の記述に基づき前記元サーバへの第1のリクエストを生成し、
前記第1のリクエストに含まれるユニフォームリソースロケータ情報中の前記元サーバのサーバ名を前記中継サーバのサーバ名に変更し、
変更後のユニフォームリソースロケータ情報に基づいて前記第1のリクエストを前記中継サーバに送信し、
前記ページ情報の記述に基づき前記元サーバへの第2のリクエストを生成するための新たな要素情報を前記生成関数を用いて生成し、
前記第2のリクエストに含まれるユニフォームリソースロケータ情報中の前記元サーバのサーバ名を前記中継サーバのサーバ名に変更し、
変更後のユニフォームリソースロケータ情報に基づいて前記第2のリクエストを前記中継サーバに送信する
ことを特徴とするリクエスト送信方法。 - 元サーバのページ情報と書換プログラムを中継サーバから受信する受信手段と、
前記書換プログラムを実行することで、ユニフォームリソースロケータ情報中の前記元サーバのサーバ名が前記中継サーバのサーバ名に変更されるように、該ページ情報を書き換えるとともに、該ユニフォームリソースロケータ情報中の該元サーバのサーバ名が該中継サーバのサーバ名に変更されるように生成関数を書き換えるための書換情報を、該ページ情報に追加する書換手段と、
前記ページ情報の記述に基づき前記元サーバへの第1のリクエストを送信するとき、該第1のリクエストに含まれるユニフォームリソースロケータ情報中の該元サーバのサーバ名を前記中継サーバのサーバ名に変更し、前記ページ情報の記述に基づき該元サーバへの第2のリクエストを生成するための新たな要素情報が前記生成関数を用いて生成されたとき、該第2のリクエストに含まれるユニフォームリソースロケータ情報中の該元サーバのサーバ名を該中継サーバのサーバ名に変更する変更手段と、
変更後のユニフォームリソースロケータ情報に基づいて前記第1及び第2のリクエストを前記中継サーバに送信する送信手段と
を備えることを特徴とする情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008143723A JP5151696B2 (ja) | 2008-05-30 | 2008-05-30 | ユニフォームリソースロケータ情報を書き換えるプログラム |
US12/361,998 US20090300103A1 (en) | 2008-05-30 | 2009-01-29 | Storage medium recording a program for rewriting uniform resource locator information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008143723A JP5151696B2 (ja) | 2008-05-30 | 2008-05-30 | ユニフォームリソースロケータ情報を書き換えるプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009289206A JP2009289206A (ja) | 2009-12-10 |
JP5151696B2 true JP5151696B2 (ja) | 2013-02-27 |
Family
ID=41381125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008143723A Expired - Fee Related JP5151696B2 (ja) | 2008-05-30 | 2008-05-30 | ユニフォームリソースロケータ情報を書き換えるプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090300103A1 (ja) |
JP (1) | JP5151696B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5897456B2 (ja) * | 2009-03-18 | 2016-03-30 | グーグル インコーポレイテッド | ディスプレイ置換を用いたウェブ翻訳 |
JP2012234236A (ja) * | 2011-04-28 | 2012-11-29 | Hitachi Ltd | 負荷分散システム |
WO2014078961A1 (en) | 2012-11-21 | 2014-05-30 | Roofoveryourhead Marketing Ltd | A browser extension for the collection and distribution of data and methods of use thereof |
JP6164925B2 (ja) * | 2013-05-15 | 2017-07-19 | キヤノン株式会社 | 情報処理端末、その方法及びプログラム |
WO2015070260A1 (en) * | 2013-11-11 | 2015-05-14 | Adallom, Inc. | Cloud service security broker and proxy |
US10324702B2 (en) | 2014-09-12 | 2019-06-18 | Microsoft Israel Research And Development (2002) Ltd. | Cloud suffix proxy and a method thereof |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3565490B2 (ja) * | 1999-11-09 | 2004-09-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | クライアントサーバシステム、サーバ、クライアント、プロキシサーバ制御方法、プロキシサーバ機能提供方法および記憶媒体 |
US20010037359A1 (en) * | 2000-02-04 | 2001-11-01 | Mockett Gregory P. | System and method for a server-side browser including markup language graphical user interface, dynamic markup language rewriter engine and profile engine |
JP2005149387A (ja) * | 2003-11-19 | 2005-06-09 | Nec Corp | リアルタイムWeb共有システム |
KR100788693B1 (ko) * | 2006-01-12 | 2007-12-26 | 삼성전자주식회사 | 원격 사용자 인터페이스의 상태 정보를 저장하고 복구하는방법 및 장치 |
-
2008
- 2008-05-30 JP JP2008143723A patent/JP5151696B2/ja not_active Expired - Fee Related
-
2009
- 2009-01-29 US US12/361,998 patent/US20090300103A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20090300103A1 (en) | 2009-12-03 |
JP2009289206A (ja) | 2009-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9130975B2 (en) | Generation of macros | |
KR101507629B1 (ko) | 기존 애플리케이션들의 커스터마이징 및 분산을 위한 브라우저-기반 프록시 서버 | |
US8924943B2 (en) | Browser emulator system | |
US10346502B2 (en) | Mobile enablement of existing web sites | |
US20080126931A1 (en) | System and method for recording and reproducing user operation | |
JP5885527B2 (ja) | 印刷システム、印刷サーバ、制御方法およびコンピュータプログラム | |
US7500181B2 (en) | Method for updating a portal page | |
US20080082965A1 (en) | Providing globalization functionalities for javascript applications | |
US20110035435A1 (en) | Method and system for converting desktop application to web application | |
KR20080053293A (ko) | 클라이언트 스크립트 웹 페이지에 대한 서버측 초기 콘텐츠렌더링 | |
TW201037531A (en) | Method for server-side logging of client browser state through markup language | |
CN108416021B (zh) | 一种浏览器网页内容处理方法、装置、电子设备及可读介质 | |
US9143378B2 (en) | Rendering components within different browser environments | |
JP5151696B2 (ja) | ユニフォームリソースロケータ情報を書き換えるプログラム | |
CN104317570B (zh) | 动态解析Web应用的装置和方法 | |
CN111506844B (zh) | 页面处理方法、设备及计算机存储介质 | |
US8090702B2 (en) | Analyzing web site traffic | |
US20110035433A1 (en) | Webpage display method, computer system, and program | |
US8112500B2 (en) | Technique of relaying communications between client apparatus and server apparatus | |
JP2016018233A (ja) | スクリプトのキャッシュ方法及びそれを適用した情報処理装置 | |
JP4745819B2 (ja) | 脆弱性判定システム及び検査装置 | |
JP2010282587A (ja) | マッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法 | |
US20050198568A1 (en) | Table display switching method, text data conversion program, and tag program | |
JP2013073464A (ja) | 通信装置および通信方法、ならびに、プログラム | |
JP2007272443A (ja) | 開発支援装置、開発支援方法および開発支援プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120514 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120529 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120730 |
|
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: 20121106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121119 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151214 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |