JP2015032299A - Web content distribution device - Google Patents

Web content distribution device Download PDF

Info

Publication number
JP2015032299A
JP2015032299A JP2013164075A JP2013164075A JP2015032299A JP 2015032299 A JP2015032299 A JP 2015032299A JP 2013164075 A JP2013164075 A JP 2013164075A JP 2013164075 A JP2013164075 A JP 2013164075A JP 2015032299 A JP2015032299 A JP 2015032299A
Authority
JP
Japan
Prior art keywords
content
sub
client
web
web page
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.)
Granted
Application number
JP2013164075A
Other languages
Japanese (ja)
Other versions
JP6086838B2 (en
Inventor
巌 峯木
Gen MINEKI
巌 峯木
力 佐々木
Tsutomu Sasaki
力 佐々木
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.)
KDDI Corp
Original Assignee
KDDI Corp
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 KDDI Corp filed Critical KDDI Corp
Priority to JP2013164075A priority Critical patent/JP6086838B2/en
Publication of JP2015032299A publication Critical patent/JP2015032299A/en
Application granted granted Critical
Publication of JP6086838B2 publication Critical patent/JP6086838B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To prevent the erroneous detection of a Cross Site Scripting filter even in SPDY application using redirection from an HTTP request to an HTTPS request.SOLUTION: A main content acquisition part 101 acquires the index file of a Web page in response to a request message. A specific sub-content determination part 102 determines whether or not each sub-content described in the index file is a specific sub-content for dynamically generating link URL. A redirect request part 6 request redirection by an HTTPS to a client which has requested a Web page excluding the specific sub-content. A main content distribution part 701 distributes the index file to the client which has requested the Web page including the specific sub-content. A sub-content distribution part 702 distributes each sub-content to the client.

Description

本発明は、クライアントからリクエストされたWebコンテンツをWebサーバから取得して配信するWebコンテンツ配信装置に係り、特に、WebコンテンツをHTTPリクエストからHTTPSリクエストへのリダイレクションにより確立されるSPDYセッションで配信する際に生じうるCross Site Scriptingの誤検知を防止できるWebコンテンツ配信装置に関する。   The present invention relates to a Web content distribution apparatus that acquires and distributes Web content requested from a client from a Web server, and in particular, when distributing Web content in an SPDY session established by redirection from an HTTP request to an HTTPS request. The present invention relates to a Web content distribution apparatus that can prevent a false detection of Cross Site Scripting that may occur in the future.

非特許文献1には、TCPコネクションの統合、サーバからクライアントへのPush配信、リクエストの多重送信化、冗長なヘッダの削除、および通信データの圧縮を必須化することで、既存のHTTPにおけるWebコンテンツの配信速度を向上させるSPDYが開示されている。   Non-Patent Document 1 describes the integration of TCP connections, push delivery from the server to the client, multiplexed transmission of requests, deletion of redundant headers, and compression of communication data. SPDY has been disclosed to improve the delivery speed.

特許文献1には、Webページを構成するサブコンテンツが、そのインデックスファイル(メインコンテンツ)と共に複数のWebサーバに分散して配置されるマルチドメイン構成のWebページが要求されると、当該Webページのインデックスファイルおよびサブコンテンツを各Webサーバから取得してキャッシュサーバ上に記憶し、同一ドメインで管理することにより、クライアントは当該キャッシュサーバへアクセスするだけで、インデックスファイルのみならずサブコンテンツもSPDYによるサーバPush配信により簡単に取得できるようにするアクセラレーションサーバが開示されている。   In Patent Document 1, when a multi-domain web page is requested in which sub-contents constituting a web page are distributed and arranged on a plurality of web servers together with the index file (main content), the index of the web page is requested. By acquiring files and sub-contents from each Web server, storing them on the cache server, and managing them in the same domain, the client simply accesses the cache server. An acceleration server is disclosed that enables easy acquisition through distribution.

一方、SPDYプロトコルはHTTPSリクエストに対して動作するので、SPDYを実装したサーバとクライアントとの間で、複数のHTTPセッションを確立して配信するHTTPのWebページで、多重化された単一のHTTPSセッション(セッションアグリゲーション)によるPush配信を実現するためには、クライアントがSPDYサーバに対してHTTPSでHTTPのWebページをリクエストしなければならなかった。   On the other hand, since the SPDY protocol works for HTTPS requests, a single HTTP that is multiplexed on an HTTP Web page that establishes and distributes multiple HTTP sessions between a server and client that implement SPDY. In order to achieve push delivery by session (session aggregation), the client had to request an HTTP web page over HTTPS from the SPDY server.

このような技術課題に対して、特許文献2には、クライアントからのHTTPリクエストに対してHTTPSによるリダイレクションを要求することにより、クライアントからのHTTPによるWebページのリクエストに対しても、セッションアグリケーションにより高速化されたSPDYによりコンテンツをPush配信するアクセラレーションサーバが開示されている。   In order to deal with such technical problems, Patent Document 2 requests that an HTTP request from a client be redirected by HTTPS, so that even a web page request from a client can be speeded up by session aggregation. An acceleration server that pushes content by using SPDY is disclosed.

特許文献3には、特許文献2においてマルチドメイン構成のWebページを構成する各サブコンテンツをドメインの異なる複数のWebサーバから取得したときでも、クロスドメイン問題を生じさせることなく、クライアントがオリジナルのWebページを再生できるようにするHTMLファイルの書き換え方法が開示されている。   Patent Document 3 describes that even when sub-contents constituting a multi-domain web page in Patent Document 2 are acquired from a plurality of web servers with different domains, the client can use the original web without causing a cross-domain problem. A method of rewriting an HTML file that enables playback of a page is disclosed.

特願2012-146859号Japanese Patent Application No. 2012-146859 特願2013-074597号Japanese Patent Application No. 2013-074597 特願2013-074596号Japanese Patent Application No. 2013-074596

IETF, M. Belshe, R. Peon, "SPDY Protocol", InternetDraft mbelshe-spdy-00, Feb. 2012.IETF, M. Belshe, R. Peon, "SPDY Protocol", InternetDraft mbelshe-spdy-00, Feb. 2012.

上記の従来技術では、配信対象のWebページがHTTPで提供され、サブコンテンツがJavaScript(登録商標)やFlash(登録商標)などの、リンクURLを動的に生成する動的コンテンツを含む場合にWebページが正しく表示されない可能性があった。これは、動的コンテンツを実行するドメインと実行後にアクセスするドメインとの相違をブラウザのCross Site Scriptingフィルタが検知して動作を阻止することが原因であり、主にアクセラレーションサーバにおける、(1)HTTPリダイレクション、(2)動的コンテンツにより生成されるURLが書き換えられないこと、の2点が影響している。   In the above prior art, if the Web page to be distributed is provided by HTTP and the sub-content includes dynamic content that dynamically generates a link URL, such as JavaScript (registered trademark) or Flash (registered trademark), the Web The page may not be displayed correctly. This is because the browser's Cross Site Scripting filter detects the difference between the domain that executes dynamic content and the domain that is accessed after execution, and the operation is blocked. Two points are affected: HTTP redirection and (2) URL generated by dynamic content cannot be rewritten.

(1)において、アクセラレーションサーバはSPDYがSSLを必須とすることから、HTTPのWebページに対するリクエストをHTTPSにリダイレクションしている。(2)では、クライアントに生成した単一のSPDYセッションを使用させるために、HTMLファイル内に記述されているスキーム部を全てHTTPSに変更しているが、動的コンテンツが生成するURLのスキーム部までは変更できていない。このため、サブコンテンツに、URLを生成する動的コンテンツが含まれると、HTTPSで提供されたHTMLファイル配下でHTTPのリクエストが発生し、ブラウザにより不正なスクリプト(フィッシング)と判定されてしまう。   In (1), since the acceleration server requires SSL for SPDY, requests for HTTP Web pages are redirected to HTTPS. In (2), in order to make the client use a single SPDY session generated, the scheme part described in the HTML file is all changed to HTTPS, but the scheme part of the URL generated by dynamic content It has not been changed until. For this reason, if the sub-content includes dynamic content that generates a URL, an HTTP request is generated under the HTML file provided by HTTPS, and the browser determines that the script is invalid (phishing).

上記の問題を解決するためには、例えば、(i) SPDYの仕様を変更してSSLを任意とする方法、(ii) Object Notation with paddingやcrossdomain.xmlなどを用い、Cross Site Scriptingフィルタを回避する記述に書き換える方法、(iii) 動的コンテンツを書き換えることで、生成されるURLのスキームをHTTPSにする方法、(iv) ブラウザのCross Site Scriptingフィルタの条件を緩和する方法、などが考えられる。しかしながら、いずれの方法もクライアントやWebサーバの改修が必要となるので実現が容易ではない。   In order to solve the above problems, for example, (i) the SPDY specification is changed to make SSL optional, and (ii) Object Notation with padding or crossdomain.xml is used to avoid the Cross Site Scripting filter. (Iii) A method of changing the scheme of the URL to be generated by rewriting dynamic content to HTTPS, and (iv) A method of relaxing the conditions of the browser Cross Site Scripting filter. However, each method is not easy to implement because it requires modification of the client and Web server.

図5は、クライアントに実装されたCross Site Scriptingフィルタの誤検知を説明するためのシーケンスフローであり、クライアントにより要求されたWebページは、図2を参照して後述するように、メインコンテンツとしてのインデックスファイル(index.html)と、当該インデックスファイルのページに貼り付けられるサブコンテンツとしての画像ファイルimg2.jpならびに動的コンテンツtest.jsおよび当該動的コンテンツが生成するリンク先の画像ファイルimg1.jpgとから構成される。インデックスファイルindex.html、画像ファイルimg1.jpg、および当該画像ファイルimg1.jpgのリンクURLを生成する動的コンテンツtest.jsはWebサーバWS1に蓄積され、インデックスファイルにリンクURLを記述されている画像ファイルimg2.jpgはWebサーバWS2に蓄積されている。   FIG. 5 is a sequence flow for explaining the false detection of the Cross Site Scripting filter implemented in the client. The Web page requested by the client is an index as the main content as described later with reference to FIG. File (index.html), image file img2.jp as sub-content pasted on the page of the index file, dynamic content test.js, and linked image file img1.jpg generated by the dynamic content Consists of The index file index.html, the image file img1.jpg, and the dynamic content test.js that generates the link URL for the image file img1.jpg are stored in the web server WS1 and the link URL is described in the index file The file img2.jpg is stored in the Web server WS2.

時刻t1では、クライアントとアクセラレーションサーバ(Port 80:HTTP)との間にTCPコネクションが確立される。時刻t2では、クライアントがindex.htmlファイルを取得するためのリクエストメッセージをアクセラレーションサーバへ送信する。時刻t3では、クライアントに対してHTTPSによるリダイレクションを要求するためのHTTPSリダイレクト用URLが、オリジナルのリクエストメッセージに基づいて生成される。本実施形態では、http://site1.ipcq.com/index.htmlからhttps://site1.ipcq.com/index.htmlが生成され、時刻t4においてクライアントへ通知される。   At time t1, a TCP connection is established between the client and the acceleration server (Port 80: HTTP). At time t2, the client sends a request message for acquiring the index.html file to the acceleration server. At time t3, an HTTPS redirect URL for requesting HTTPS redirection from the client is generated based on the original request message. In this embodiment, https://site1.ipcq.com/index.html is generated from http://site1.ipcq.com/index.html and notified to the client at time t4.

時刻t5では、クライアントとアクセラレーションサーバ(Port 443:HTTPS)との間にTCPコネクションが確立される。時刻t6では、クライアントとアクセラレーションサーバのPort 443との間にSPDYセッションが確立される。時刻t7では、クライアントが前記HTTPSリダイレクト用URLに接続してリクエストメッセージを送信する。時刻t8では、前記リクエストメッセージがキャッシュへ転送される。   At time t5, a TCP connection is established between the client and the acceleration server (Port 443: HTTPS). At time t6, an SPDY session is established between the client and port 443 of the acceleration server. At time t7, the client connects to the HTTPS redirect URL and transmits a request message. At time t8, the request message is transferred to the cache.

アクセラレーションサーバは、前記インデックスファイルindex.htmlファイルがキャッシュされていなければ、時刻t9において、WebサーバWS1へindex.htmlファイルのリクエストメッセージを送信する。時刻t10では、WebサーバWS1からアクセラレーションサーバへindex.htmlファイルが応答される。時刻t11では、前記index.htmlファイルがキャッシュからPort 443へ転送される。時刻t12では、Port 443からクライアントへ前記index.htmlファイルが配信される。   If the index file index.html file is not cached, the acceleration server transmits a request message for the index.html file to the Web server WS1 at time t9. At time t10, the index.html file is returned from the Web server WS1 to the acceleration server. At time t11, the index.html file is transferred from the cache to Port 443. At time t12, the index.html file is distributed from Port 443 to the client.

これと平行して、時刻t13では、アクセラレーションサーバからWebサーバWS1へ、サブコンテンツtest.jsを要求するリクエストメッセージが送信される。時刻t14では、アクセラレーションサーバからWebサーバWS2へ、サブコンテンツimg2.jpgを要求するリクエストメッセージが送信される。時刻t15では、WebサーバWS1からアクセラレーションサーバへサブコンテンツtest.jsが応答される。時刻t16では、WebサーバWS2からアクセラレーションサーバへサブコンテンツimg2.jpgが応答される。時刻t17,t18では、アクセラレーションサーバのキャッシュからPort 443へサブコンテンツtest.js,img2.jpgがそれぞれ転送される。時刻t19では、前記サブコンテンツ(test.jsおよびimg2.jpg)がSPDYセッションによりクライアントへ配信される。   In parallel with this, at time t13, a request message for requesting the sub content test.js is transmitted from the acceleration server to the Web server WS1. At time t14, a request message requesting the sub content img2.jpg is transmitted from the acceleration server to the Web server WS2. At time t15, the sub content test.js is returned from the Web server WS1 to the acceleration server. At time t16, the sub-content img2.jpg is returned from the Web server WS2 to the acceleration server. At times t17 and t18, the sub contents test.js and img2.jpg are transferred from the cache of the acceleration server to Port 443, respectively. At time t19, the sub contents (test.js and img2.jpg) are delivered to the client through the SPDY session.

時刻t20では、クライアントにおいて前記サブコンテンツtest.jsが実行される。このとき、ブラウザのCross Site Scriptingフィルタは、test.jsが生成するURL http://site1.ipcq.com/img1.jpgと、test.jsが実行されるHTMLファイルのURL "https://site1.ipcq.com/index.html"とを照合するが、ここではスキーム部が不一致(httpとhttps)と判定されるので、ブラウザのCross Site Scriptingフィルタにより、img1.jpgのリクエストメッセージが遮断される。したがって、クライアントはimg1.jpgを取得できず、Webページを正しく表示できない。   At time t20, the sub-content test.js is executed on the client. At this time, the Cross Site Scripting filter of the browser uses the URL http://site1.ipcq.com/img1.jpg generated by test.js and the URL of the HTML file where test.js is executed "https: // site1 .ipcq.com / index.html "is matched, but here the scheme part is judged to be inconsistent (http and https), so the request message of img1.jpg is blocked by the browser's Cross Site Scripting filter . Therefore, the client cannot obtain img1.jpg and cannot display the Web page correctly.

本発明の目的は、上記した従来技術の課題を解決し、HTTPリクエストからHTTPSリクエストへのリダイレクションを利用したSPDY適用時にも、Cross Site Scriptingフィルタの誤検知を防止してWebコンテンツを正しく表示できるWebコンテンツ配信装置を提供することにある。   The object of the present invention is to solve the above-mentioned problems of the prior art and to prevent the false detection of the Cross Site Scripting filter and correctly display the web contents even when applying SPDY using redirection from HTTP request to HTTPS request. It is to provide a content distribution apparatus.

上記の目的を達成するために、クライアントからのWebページの要求に対して当該WebページのメインコンテンツおよびサブコンテンツをWebサーバから取得して前記クライアントへ配信するWebコンテンツの配信装置において、Webページを要求するHTTPリクエストに対してメインコンテンツを取得するメインコンテンツ取得手段と、メインコンテンツに記述されている各サブコンテンツのリンクURLのスキームをHTTPSに書き換える書換手段と、各サブコンテンツが、リンクURLを動的に生成する特定サブコンテンツであるか否かを判定する特定サブコンテンツ判定手段と、特定サブコンテンツを含まないWebページを要求したクライアントへHTTPSによるリダイレクトを要求するリダイレクト要求手段と、特定サブコンテンツを含むWebページを要求したクライアントへ前記メインコンテンツを配信するメインコンテンツ配信手段と、各サブコンテンツのリンクURLに基づいて各サブコンテンツを取得するサブコンテンツ取得手段と、特定サブコンテンツを含むWebページを要求したクライアントへ各サブコンテンツを統合して配信するサブコンテンツ配信手段と、特定サブコンテンツが生成したリンクURLへのリクエストメッセージに応答してサブコンテンツを配信するサブコンテンツ応答手段とを具備した。   In order to achieve the above-mentioned purpose, in response to a web page request from a client, a web page is requested in a web content distribution apparatus that acquires the main content and sub-content of the web page from a web server and distributes it to the client. Main content acquisition means for acquiring the main content in response to an HTTP request, rewriting means for rewriting the link URL scheme of each sub-content described in the main content to HTTPS, and each sub-content dynamically generating a link URL A specific sub-content determining means for determining whether or not the specific sub-content is included; a redirect request means for requesting a redirect request by HTTPS to a client that has requested a Web page not including the specific sub-content; and a Web page including the specific sub-content. Requested cry Main content distribution means for distributing the main content to the client, sub-content acquisition means for acquiring each sub-content based on the link URL of each sub-content, and integration of each sub-content to the client that requested the Web page including the specific sub-content And a sub-content distribution unit for distributing the sub-content in response to a request message to the link URL generated by the specific sub-content.

本発明によれば、クライアントが取得しようとしているマルチドメイン構成のWebページに、リンク先のURLを生成する動的コンテンツが含まれている場合でも、当該動的コンテンツが生成したリンク先へのリクエストメッセージがCross Site Scriptingフィルタにより遮断されないので、クライアントは全てのサブコンテンツを取得できるようになる。   According to the present invention, even when dynamic content that generates a link destination URL is included in a multi-domain web page that the client is trying to acquire, a request to the link destination generated by the dynamic content is made. Since the message is not blocked by the Cross Site Scripting filter, the client can retrieve all sub-contents.

本発明の一実施形態に係るWebコンテンツ配信システムのネットワーク構成を示したシステム概要図である。It is a system outline figure showing the network composition of the Web contents distribution system concerning one embodiment of the present invention. マルチドメイン構成のWebページの一例を示した図である。It is the figure which showed an example of the web page of a multi domain structure. アクセラレーションサーバの構成を示した機能ブロック図である。It is the functional block diagram which showed the structure of the acceleration server. 本発明の一実施形態の動作を示したシーケンスフローである。It is the sequence flow which showed the operation | movement of one Embodiment of this invention. Cross Site Scriptingフィルタの誤検知によりサブコンテンツの取得が妨げられる様子を示した図である。It is the figure which showed a mode that acquisition of a subcontent was prevented by the false detection of a Cross Site Scripting filter.

以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は、本発明の一実施形態に係るWebコンテンツ配信システムのネットワーク構成を示したシステム概要図であり、マルチドメイン構成のWebページについて、そのインデックスファイルindex.html(メインコンテンツ)や当該インデックスファイルに貼り付けられる画像ファイル(サブコンテンツ)が分散配置された複数のWebサーバ(WS1,WS2)と、クライアントからのWebページコンテンツのリクエストを検知してオリジナルのWebサーバを判断し、当該Webサーバからメインコンテンツおよびサブコンテンツを取得してキャッシュし、これらをTCPコネクションまたはSPDYセッションでクライアントへ配信するアクセラレーションサーバとを主要な構成とする。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a system outline diagram showing a network configuration of a Web content distribution system according to an embodiment of the present invention. For a Web page having a multi-domain configuration, the index file index.html (main content) and the index file are included. Multiple web servers (WS1, WS2) with distributed image files (sub-contents) to be pasted, and web page content requests from clients are detected to determine the original web server, and the main content from the web server The main configuration is an acceleration server that acquires and caches sub-contents and distributes them to clients via a TCP connection or SPDY session.

前記各Webサーバには、それぞれ異なるドメインが割り当てられ、本実施形態では、WebサーバWS1に "site1.ipcq.com" が割り当てられ、WebサーバWS2に "site2.ipcq.com"が割り当てられている。クライアントとアクセラレーションサーバとはTCPコネクションおよびSPDYセッションで接続される。アクセラレーションサーバと各WebサーバとはHTTPコネクションで接続される。   Each web server is assigned a different domain. In this embodiment, "site1.ipcq.com" is assigned to the web server WS1, and "site2.ipcq.com" is assigned to the web server WS2. . The client and the acceleration server are connected via a TCP connection and SPDY session. The acceleration server and each Web server are connected by HTTP connection.

配信対象のWebページはマルチドメイン構成であり、図2に一例を示したように、メインコンテンツとしてのindex.htmlファイルと、当該index.htmlファイルのページに貼り付けられるサブコンテンツとしての画像ファイルimg2.jpgならびに動的コンテンツtest.jsおよび当該動的コンテンツが生成するリンク先の画像ファイルimg1.jpgとから構成されている。本実施形態では、index.htmlファイル、画像ファイルimg1.jpgおよび当該画像ファイルimg1.jpgのリンクURLを生成するJavaScript(登録商標)などの動的コンテンツtest.jsがWebサーバWS1に蓄積され、index.htmlファイルにURLを記述されている画像ファイルimg2.jpgがWebサーバWS2に蓄積されているものとして説明する。   The Web page to be distributed has a multi-domain configuration, and as shown in FIG. 2 as an example, an index.html file as main content and an image file img2. As sub-content pasted on the page of the index.html file. jpg, dynamic content test.js, and a link destination image file img1.jpg generated by the dynamic content. In this embodiment, dynamic content test.js such as JavaScript (registered trademark) for generating an index.html file, an image file img1.jpg, and a link URL of the image file img1.jpg is accumulated in the web server WS1, and index. The following description assumes that the image file img2.jpg in which the URL is described in the .html file is stored in the Web server WS2.

図3は、前記アクセラレーションサーバの主要部の構成を示した機能ブロック図であり、ここでは、本発明の説明に不要な構成は図示が省略されている。   FIG. 3 is a functional block diagram showing the configuration of the main part of the acceleration server. Here, the configuration unnecessary for the description of the present invention is omitted.

リクエスト受付部4は、クライアントから送信されたWebページのリクエストメッセージを受け付ける。本実施形態では、リクエストメッセージとしてHTTPリクエストおよびHTTPSリクエストを受け付けられる。   The request reception unit 4 receives a request message for a Web page transmitted from a client. In this embodiment, an HTTP request and an HTTPS request can be accepted as a request message.

コンテンツ取得部1において、メインコンテンツ取得部101は、前記リクエストメッセージに応答して、Webページのindex.htmlファイルをWebサーバWS1から取得し、記憶部2にキャッシュする。特定サブコンテンツ判定部102は、index.htmlファイルにリンクURLの記述されている各サブコンテンツが、JavaScript(登録商標)やFlash(登録商標)などの、リンクURLを動的に生成する特定サブコンテンツであるか否かを判定する。   In the content acquisition unit 1, the main content acquisition unit 101 acquires the index.html file of the Web page from the Web server WS1 in response to the request message, and caches it in the storage unit 2. The specific sub-content determining unit 102 is a specific sub-content that dynamically generates a link URL such as JavaScript (registered trademark) or Flash (registered trademark) in which each sub-content described in the link URL in the index.html file It is determined whether or not.

サブコンテンツ取得部103は、index.htmlファイルに記述されているリンクURLにリクエストメッセージを送信してサブコンテンツを取得し、これを記憶部2にキャッシュする。本実施形態では、サブコンテンツtest.jsがWebサーバWS1から取得され、サブコンテンツimg2.jpgがWebサーバWS2から取得される。   The sub-content acquisition unit 103 acquires a sub-content by transmitting a request message to the link URL described in the index.html file, and caches this in the storage unit 2. In the present embodiment, the sub content test.js is acquired from the Web server WS1, and the sub content img2.jpg is acquired from the Web server WS2.

書換部3において、スキーム書換部301は、index.htmlファイルに記述されている各サブコンテンツのリンクURLのスキームをHTTPからHTTPSに書き換える。ドメイン書換部302は、サブコンテンツimg2.jpgのドメインを"site2.ipcq.com"から"site1.ipcq.com"に書き換えることで全てのサブコンテンツのドメインを共通化する。リダイレクト要求部6は、前記特定サブコンテンツを含まないWebページを要求したクライアントへ、従来技術と同様にHTTPSによるリクエストメッセージのリダイレクションを要求する。   In the rewriting unit 3, the scheme rewriting unit 301 rewrites the scheme of the link URL of each sub-content described in the index.html file from HTTP to HTTPS. The domain rewriting unit 302 rewrites the domain of the sub-content img2.jpg from “site2.ipcq.com” to “site1.ipcq.com” so that all the sub-content domains are shared. The redirect request unit 6 requests redirection of a request message by HTTPS to a client that has requested a Web page that does not include the specific sub-content, as in the related art.

コンテンツ配信部7において、メインコンテンツ配信部701は、特定サブコンテンツを含むWebページを要求したクライアントへメインコンテンツを配信する。サブコンテンツ配信部702は、特定サブコンテンツを含むWebページを要求したクライアントへ各サブコンテンツをSPDYセッションにより統合して配信する。サブコンテンツ応答部703は、特定サブコンテンツ(test.js)が生成したリンクURLへのリクエストメッセージに応答してサブコンテンツ(img1.jpg)を配信する。   In the content distribution unit 7, the main content distribution unit 701 distributes the main content to the client that has requested the Web page including the specific sub-content. The sub-content distribution unit 702 integrates and distributes each sub-content through the SPDY session to the client that has requested the Web page including the specific sub-content. The sub-content response unit 703 distributes the sub-content (img1.jpg) in response to a request message for the link URL generated by the specific sub-content (test.js).

次いで、図4のシーケンスフローを参照して本発明の一実施形態の動作を詳細に説明する。時刻t1では、クライアントとアクセラレーションサーバ(Port 80)との間にTCPコネクションが確立される。時刻t2では、クライアントからアクセラレーションサーバ(Port 80)に対して、Webページを取得するためのHTTPリクエストメッセージ(GET:index.html)が送信される。当該HTTPリクエストメッセージは、アクセラレーションサーバのリクエスト受付部4で受け付けられる。   Next, the operation of the embodiment of the present invention will be described in detail with reference to the sequence flow of FIG. At time t1, a TCP connection is established between the client and the acceleration server (Port 80). At time t2, an HTTP request message (GET: index.html) for acquiring a Web page is transmitted from the client to the acceleration server (Port 80). The HTTP request message is received by the request receiving unit 4 of the acceleration server.

時刻t3では、アクセラレーションサーバにおいて、前記要求されたindex.htmlファイルがキャッシュされているか否かが判定される。index.htmlファイルがキャッシュされていなければ、時刻t4において、メインコンテンツ取得部101からWebサーバWS1へindex.htmlファイルのリクエストメッセージが送信される。時刻t5では、WebサーバWS1からアクセラレーションサーバへindex.htmlファイルが応答される。   At time t3, the acceleration server determines whether the requested index.html file is cached. If the index.html file is not cached, a request message for the index.html file is transmitted from the main content acquisition unit 101 to the web server WS1 at time t4. At time t5, the index.html file is returned from the Web server WS1 to the acceleration server.

時刻t6では、前記index.htmlファイルが解析され、サブコンテンツにJavaScript(登録商標)やFlash(登録商標)などの動的コンテンツが含まれているか否かが判定される。さらに各サブコンテンツをSPDYによりクライアントへ一括送信するために、各サブコンテンツのリンクURLに関して、そのスキームがスキーム書換部301によりHTTPSに書き換えられ、ドメインがドメイン書換部302によりWebサーバWS1のドメインに書き換えられる。   At time t6, the index.html file is analyzed, and it is determined whether the sub-content includes dynamic content such as JavaScript (registered trademark) or Flash (registered trademark). Furthermore, in order to send each sub-content collectively to the client by SPDY, the scheme is rewritten to HTTPS by the scheme rewriting unit 301 and the domain is rewritten to the domain of the Web server WS1 by the domain rewriting unit 302. It is done.

本実施形態では、index.htmlファイルにサブコンテンツtest.jsのリンクURL "http://site1.ipcq.com/test.js" およびサブコンテンツimg2.jpgのリンクURL "http://site2.ipcq.com/img2.jpg" が記述されており、これらのリンクURLが、それぞれ"https://site1.ipcq.com/test.js" および "https://site1.ipcq.com/img2.jpg"に書き換えられる。さらに、サブコンテンツtest.jsが動的コンテンツと判断される。   In the present embodiment, the link URL “http://site1.ipcq.com/test.js” of the sub content test.js and the link URL “http: //site2.ipcq of the sub content img2.jpg are included in the index.html file. .com / img2.jpg ", and these link URLs are" https://site1.ipcq.com/test.js "and" https://site1.ipcq.com/img2.jpg ", respectively. Will be rewritten. Further, the sub content test.js is determined to be dynamic content.

時刻t7では、アクセラレーションサーバのサブコンテンツ取得部103からWebサーバWS1へ、サブコンテンツtest.jsを要求するリクエストメッセージが送信される。時刻t8では、サブコンテンツ取得部103からWebサーバWS2へ、サブコンテンツimg2.jpgを要求するリクエストメッセージが送信される。時刻t9では、WebサーバWS1からアクセラレーションサーバへサブコンテンツtest.jsが応答される。時刻t10では、WebサーバWS2からアクセラレーションサーバへサブコンテンツimg2.jpgが応答される。   At time t7, a request message requesting the sub content test.js is transmitted from the sub content acquisition unit 103 of the acceleration server to the Web server WS1. At time t8, a request message for requesting the sub content img2.jpg is transmitted from the sub content acquisition unit 103 to the Web server WS2. At time t9, the sub content test.js is returned from the Web server WS1 to the acceleration server. At time t10, the sub-content img2.jpg is returned from the Web server WS2 to the acceleration server.

時刻t11では、前記HTTPリクエストを送信したクライアントに対してHTTPSによるリダイレクションを要求するか否かが、前記index.htmlファイルに記述されている動的コンテンツがURLを動的に生成する特定サブコンテンツであるか否かに基づいて判断される。   At time t11, whether or not to request redirection by HTTPS to the client that sent the HTTP request, the dynamic content described in the index.html file is a specific sub-content that dynamically generates a URL. Judgment is made based on whether or not there is.

本実施形態では、特定サブコンテンツ判定部102がWebブラウザの模擬機能を備え、前記動的コンテンツtest.jsを実行することでURLが動的に生成されるか否かが判断される。なお、前記Webブラウザの模擬機能は、Webブラウザの全機能を模擬できる必要はなく、クライアントに実装されたブラウザが当該動的コンテンツtest.jsを実行したときにURLが動的に生成されるか否を判断できる機能のみを備えていれば良い。   In this embodiment, the specific sub-content determination unit 102 has a Web browser simulation function, and it is determined whether or not a URL is dynamically generated by executing the dynamic content test.js. Note that the Web browser simulation function does not need to be able to simulate all the functions of the Web browser. Is the URL generated dynamically when the browser installed in the client executes the dynamic content test.js? It suffices to have only a function that can determine whether or not.

本実施形態では、サブコンテンツtest.jsが「URLを動的に生成する」、すなわちtest.jsが特定サブコンテンツと判断されるので、HTTPSによるリダイレクションが不要と判定される。時刻t12では、キャッシュからPort 80へindex.htmlファイルが転送される。時刻t13では、メインコンテンツ配信部701により、Port 80からクライアントへ前記index.htmlファイルがHTTPで応答される。なお、サブコンテンツtest.jsが「URLを動的に生成しない」と判定されると、従来技術と同様に、リダイレクト要求部6によりクライアントに対してHTTPSによるリダイレクションが要求される。   In the present embodiment, since the sub-content test.js “generates URL dynamically”, that is, test.js is determined as the specific sub-content, it is determined that redirection by HTTPS is unnecessary. At time t12, the index.html file is transferred from the cache to Port 80. At time t13, the main content distribution unit 701 returns the index.html file from Port 80 to the client by HTTP. If it is determined that the sub-content test.js does not dynamically generate a URL, the redirect request unit 6 requests the client to perform redirection by HTTPS, as in the conventional technique.

時刻t14では、クライアントとアクセラレーションサーバのPort 443との間にTCPコネクションが確立される。時刻t15では、クライアントとアクセラレーションサーバのPort 443との間にSPDYセッションが確立される。時刻t16では、クライアントからアクセラレーションサーバのPort 443へサブコンテンツがリクエストされる。時刻t17,t18では、アクセラレーションサーバにおいてPort 443からキャッシュへ、サブコンテンツtest.js,img2.jpgのリクエストがそれぞれ転送される。時刻t19,t20では、アクセラレーションサーバのキャッシュからPort 443へ、サブコンテンツtest.js,img2.jpgがそれぞれ転送される。時刻t21では、サブコンテンツ配信部702により、前記サブコンテンツ(test.jsおよびimg2.jpg)がSPDYセッションでクライアントへ一括配信される。   At time t14, a TCP connection is established between the client and port 443 of the acceleration server. At time t15, an SPDY session is established between the client and port 443 of the acceleration server. At time t16, a sub-content is requested from the client to Port 443 of the acceleration server. At times t17 and t18, the request for the sub contents test.js and img2.jpg is transferred from the port 443 to the cache at the acceleration server. At times t19 and t20, the sub contents test.js and img2.jpg are transferred from the cache of the acceleration server to Port 443, respectively. At time t21, the sub-content distribution unit 702 distributes the sub-contents (test.js and img2.jpg) to the clients in a SPDY session.

時刻t22では、クライアントにおいて前記動的なサブコンテンツtest.jsが実行される。このとき、ブラウザのCross Site Scriptingフィルタは、test.jsが生成するURL http://site1.ipcq.com/img1.jpgとtest.jsが実行されるHTMLファイルのURL "http://site1.ipcq.com/index.html"とを照合し、ここではスキーム部およびFQDNのいずれもが一致する。したがって、時刻t23ではCross Site Scriptingフィルタを通過して、サブコンテンツimg1.jpgに関するリクエストメッセージがアクセラレーションサーバのPort80へHTTPで送信される。   At time t22, the dynamic sub-content test.js is executed on the client. At this time, the Cross Site Scripting filter of the browser uses the URL http://site1.ipcq.com/img1.jpg generated by test.js and the URL of the HTML file where test.js is executed "http: // site1. "ipcq.com/index.html" is matched, and here both the scheme part and the FQDN match. Therefore, at time t23, the request message regarding the sub-content img1.jpg passes through the Cross Site Scripting filter and is transmitted to Port 80 of the acceleration server by HTTP.

時刻t24では、前記リクエストメッセージがアクセラレーションサーバのPort80からキャッシュへ転送される。時刻t25では、前記リクエストメッセージがキャッシュからWebサーバWS1へHTTPで送信される。時刻t26では、WebサーバWS1からアクセラレーションサーバのキャッシュへサブコンテンツimg1.jpgがHTTPで送信される。時刻t27では、キャッシュからPort80へサブコンテンツimg1.jpgが転送される。時刻t28では、アクセラレーションサーバのサブコンテンツ応答部703により、クライアントへサブコンテンツimg1.jpgがHTTPで送信される。時刻t29では、前記index.htmlファイルにサブコンテンツimg1.jpg,img2.jpgが貼り付けられて完全なWebページが表示される。   At time t24, the request message is transferred from the port 80 of the acceleration server to the cache. At time t25, the request message is transmitted from the cache to the Web server WS1 by HTTP. At time t26, the sub-content img1.jpg is transmitted by HTTP from the Web server WS1 to the acceleration server cache. At time t27, the sub-content img1.jpg is transferred from the cache to Port80. At time t28, the sub content response unit 703 of the acceleration server transmits the sub content img1.jpg to the client by HTTP. At time t29, the sub contents img1.jpg and img2.jpg are pasted on the index.html file, and a complete Web page is displayed.

本実施形態によれば、クライアントが取得しようとしているマルチドメイン構成のWebページに、リンク先のURLを生成する動的コンテンツが含まれている場合でも、当該動的コンテンツが生成したリンク先へのリクエストメッセージがCross Site Scriptingフィルタにより遮断されないので、クライアントは全てのサブコンテンツを取得できるようになる。   According to this embodiment, even when the dynamic content that generates the URL of the link destination is included in the Web page of the multi-domain configuration that the client intends to acquire, the link to the link destination generated by the dynamic content is included. The request message is not blocked by the Cross Site Scripting filter, so the client can retrieve all sub-contents.

また、本実施形態によれば、クライアントが取得しようとしているマルチドメイン構成のWebページに、リンク先のURLを生成する動的コンテンツが含まれている場合でも、当該動的コンテンツが生成したリンク先に保持されているサブコンテンツ以外の全てのサブコンテンツを、アクセラレーションサーバからSPDYセッションにより統合して一括送信できるので、Webコンテンツの高速配信を維持できる。   In addition, according to the present embodiment, even when dynamic content that generates a URL of a link destination is included in the Web page of the multi-domain configuration that the client intends to acquire, the link destination generated by the dynamic content All the sub-contents other than the sub-contents stored in can be integrated and sent from the acceleration server through the SPDY session, so that high-speed delivery of Web contents can be maintained.

1…コンテンツ取得部、101…メインコンテンツ取得部、102…特定サブコンテンツ判定部、103…サブコンテンツ取得部、2…記憶部、3…書換部、301…スキーム書換部、302…ドメイン書換部、4…リクエスト受付部、6…リダイレクト要求部、7…コンテンツ配信部、701…メインコンテンツ配信部、702…サブコンテンツ配信部、703…サブコンテンツ応答部   DESCRIPTION OF SYMBOLS 1 ... Content acquisition part, 101 ... Main content acquisition part, 102 ... Specific sub content determination part, 103 ... Sub content acquisition part, 2 ... Memory | storage part, 3 ... Rewriting part, 301 ... Scheme rewriting part, 302 ... Domain rewriting part, 4 Request accepting unit 6 Redirect request unit 7 Content delivery unit 701 Main content delivery unit 702 Sub content delivery unit 703 Sub content response unit

Claims (4)

クライアントからのWebページの要求に応答して当該WebページのメインコンテンツおよびサブコンテンツをWebサーバから取得し、前記クライアントへ配信するWebコンテンツ配信装置において、
Webページを要求するHTTPリクエストに対してメインコンテンツを取得するメインコンテンツ取得手段と、
前記メインコンテンツに記述されている各サブコンテンツのリンクURLのスキームをHTTPSに書き換える書換手段と、
各サブコンテンツが、リンクURLを動的に生成する特定サブコンテンツであるか否かを判定する特定サブコンテンツ判定手段と、
前記特定サブコンテンツを含まないWebページを要求したクライアントへHTTPSによるリダイレクトを要求するリダイレクト要求手段と、
前記特定サブコンテンツを含むWebページを要求したクライアントへ前記メインコンテンツを配信するメインコンテンツ配信手段と、
前記各サブコンテンツのリンクURLに基づいて各サブコンテンツを取得するサブコンテンツ取得手段と、
前記特定サブコンテンツを含むWebページを要求したクライアントへ各サブコンテンツを統合して配信するサブコンテンツ配信手段と、
前記特定サブコンテンツが生成したリンクURLへのリクエストメッセージに応答してサブコンテンツを配信するサブコンテンツ応答手段とを具備したことを特徴とするWebコンテンツ配信装置。
In the Web content distribution apparatus that acquires the main content and sub-content of the Web page from the Web server in response to the Web page request from the client, and distributes it to the client,
Main content acquisition means for acquiring main content in response to an HTTP request for requesting a web page;
Rewriting means for rewriting the link URL scheme of each sub-content described in the main content to HTTPS,
Specific sub-content determination means for determining whether each sub-content is specific sub-content that dynamically generates a link URL;
A redirect request means for requesting a redirect by HTTPS to a client that has requested a Web page not including the specific sub-content;
Main content distribution means for distributing the main content to a client that has requested a Web page including the specific sub-content;
Sub-content acquisition means for acquiring each sub-content based on the link URL of each sub-content;
Sub-content distribution means for integrating and distributing each sub-content to the client that requested the Web page including the specific sub-content;
A Web content distribution apparatus comprising: sub-content response means for distributing sub-content in response to a request message for a link URL generated by the specific sub-content.
前記書換手段は、各サブコンテンツのリンクURLのドメインを、メインコンテンツと同一のドメインに書き換えることを特徴とする請求項1に記載のWebコンテンツ配信装置。   The Web content distribution apparatus according to claim 1, wherein the rewriting means rewrites the domain of the link URL of each sub-content to the same domain as the main content. クライアントとの間にSPDYセッションを確立するSPDY制御手段を具備し、
前記サブコンテンツ配信手段は、各サブコンテンツをSPDYセッションを用いてクライアントへ配信することを特徴とする請求項1または2に記載のWebコンテンツ配信装置。
SPDY control means to establish SPDY session with the client,
The Web content distribution apparatus according to claim 1, wherein the sub-content distribution unit distributes each sub-content to a client using an SPDY session.
前記メインコンテンツおよびサブコンテンツを一時記憶するキャッシュを具備し、
各コンテンツをWebサーバから取得して一時記憶し、当該キャッシュから配信することを特徴とする請求項1ないし3のいずれかに記載のWebコンテンツ配信装置。
A cache for temporarily storing the main content and the sub-content;
4. The Web content distribution apparatus according to claim 1, wherein each content is acquired from a Web server, temporarily stored, and distributed from the cache.
JP2013164075A 2013-08-07 2013-08-07 Web content distribution device Active JP6086838B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013164075A JP6086838B2 (en) 2013-08-07 2013-08-07 Web content distribution device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013164075A JP6086838B2 (en) 2013-08-07 2013-08-07 Web content distribution device

Publications (2)

Publication Number Publication Date
JP2015032299A true JP2015032299A (en) 2015-02-16
JP6086838B2 JP6086838B2 (en) 2017-03-01

Family

ID=52517523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013164075A Active JP6086838B2 (en) 2013-08-07 2013-08-07 Web content distribution device

Country Status (1)

Country Link
JP (1) JP6086838B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017182157A (en) * 2016-03-28 2017-10-05 Kddi株式会社 Web content distribution method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008262311A (en) * 2007-04-11 2008-10-30 Fujitsu Ltd Security-inspecting model generation program and device, and security-inspecting model inspection device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008262311A (en) * 2007-04-11 2008-10-30 Fujitsu Ltd Security-inspecting model generation program and device, and security-inspecting model inspection device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6016049363; 峯木 厳 Gen Mineki: 'SPDYアクセラレータによる高速Webアクセス手法の評価 Performance Evaluation of SPDY Accelerator' 情報処理学会 研究報告 モバイルコンピューティングとユビキタス通信(MBL) 2013-MBL-06 , 20130516, p.1-6, 情報処理学会 *
JPN6016049366; Gen MINEKI et al.: 'SPDY Accelerator for Improving Web Access Speed' Proceedings of Advanced Communication Technology 2013 , 201301, p.540-544 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017182157A (en) * 2016-03-28 2017-10-05 Kddi株式会社 Web content distribution method

Also Published As

Publication number Publication date
JP6086838B2 (en) 2017-03-01

Similar Documents

Publication Publication Date Title
US9992251B2 (en) Segment routing support in MPEG dash
US9015416B2 (en) Efficient cache validation and content retrieval in a content delivery network
US8620999B1 (en) Network resource modification for higher network connection concurrence
CN102301682B (en) Method and system for network caching, domain name system redirection sub-system thereof
US10127328B2 (en) Distribution device for web content
US20150281331A1 (en) Server initiated multipath content delivery
JP2018506936A (en) Method and system for an end-to-end solution for distributing content in a network
TW201545520A (en) Method and system for acquiring web pages
EP2512101B1 (en) Method and system to pre-fetch user-specific HTTP requests for web applications
CN108418847B (en) Network traffic caching system, method and device
EP2997713A1 (en) Redirection in a content delivery network
WO2010133097A1 (en) Data sharing method, server and data sharing system for widget system
WO2016109297A1 (en) Methods and systems for an end-to-end solution to deliver content in a network
US20150006622A1 (en) Web contents transmission method and apparatus
US20150113101A1 (en) Method and apparatus for providing streaming content
JP6086838B2 (en) Web content distribution device
JP6081847B2 (en) Web content distribution device
JP6081846B2 (en) Web content distribution device
US9215127B2 (en) Non-intrusive proxy system and method for applications without proxy support
JP6054799B2 (en) Web content distribution device
JP6081845B2 (en) Web content distribution device
WO2018033462A1 (en) Method and device for transmission of content
KR20150045891A (en) Method and apparatus for providing streaming contents
KR20130089709A (en) Method and apparatus for sharing media content using modified url
JP2016072712A (en) Access limitation method, distribution system, and reverse proxy server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160128

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161215

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170131

R150 Certificate of patent or registration of utility model

Ref document number: 6086838

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150