JP2012059060A - スクリプトプログラムを含むWebページを端末に高速表示させるWebサーバ及びその方法 - Google Patents

スクリプトプログラムを含むWebページを端末に高速表示させるWebサーバ及びその方法 Download PDF

Info

Publication number
JP2012059060A
JP2012059060A JP2010202259A JP2010202259A JP2012059060A JP 2012059060 A JP2012059060 A JP 2012059060A JP 2010202259 A JP2010202259 A JP 2010202259A JP 2010202259 A JP2010202259 A JP 2010202259A JP 2012059060 A JP2012059060 A JP 2012059060A
Authority
JP
Japan
Prior art keywords
script
target script
web page
target
web server
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
JP2010202259A
Other languages
English (en)
Other versions
JP5231500B2 (ja
Inventor
Masatoshi Wakisaki
正俊 脇▲崎▼
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.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan 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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2010202259A priority Critical patent/JP5231500B2/ja
Publication of JP2012059060A publication Critical patent/JP2012059060A/ja
Application granted granted Critical
Publication of JP5231500B2 publication Critical patent/JP5231500B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】端末において、スクリプトプログラムを含むWebページについて、一度受信したスクリプトプログラムの再受信を回避し、Webページの表示操作を行ってから表示されるまでの時間を短縮することができるWebサーバ及びその方法を提供すること。
【解決手段】Webサーバ1は、管理スクリプト埋込部12により、Webページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトを、Webページに埋め込み、Webページ送信部14により、ユーザ端末2からのWebページのリクエストを受け付けたことに応じて、Webページ記憶部21に記憶されているWebページをユーザ端末2に送信する。管理スクリプトは、保存領域51に、対象スクリプトが記憶されているか否かを確認し、対象スクリプトが記憶されている場合に、対象スクリプトを当該保存領域51から読み出して、展開して実行する。
【選択図】図7

Description

本発明は、スクリプトプログラムを含むWebページを端末に高速表示させるWebサーバ及びその方法に関する。
近年、Webページにおけるサービスの向上等を目的として、Webページのリッチ化が盛んに行われている。
すなわち、Webページに対して画像や動画を表示させたり、JavaScript(登録商標)等のスクリプトプログラムによりWebページを提供するWebサーバとの非同期通信を実現したりすることによって、Webページを多彩に表現することが行われている。
しかしながら、上述のようにWebページを多彩に表現するためにスクリプトプログラムが肥大化することに伴い、各Webページの情報量は、肥大化する傾向にある。このため、通信回線速度が遅い携帯電話機等の端末では、スクリプトプログラムを含むWebページの受信に多くの時間がかかり、Webページの表示操作を行ってから表示されるまでに、多くの時間がかかってしまう場合がある。
このような問題に対して、例えば、特許文献1では、Webブラウザで画面表示されるWebページのデータを携帯端末側にキャッシュしておき、同一又は関連するWebページを表示する際に当該キャッシュ機能を利用して、Webページの初期画面表示の高速化を実現する方法が提案されている。
特開2008−211433号公報
ところで、Webサイトを構成する同一ドメイン内の複数の異なるWebページには、共通して使用するスクリプトプログラムが埋め込まれている場合がある。
このような場合に、特許文献1に提案されている方法を用いてWebブラウザで表示したWebページのデータを端末側にキャッシュしておいたとしても、上記のように異なるWebページを読み込む際にはキャッシュの効果を期待することはできない。すなわち、共通のスクリプトプログラムを含むWebページがキャッシュされているにもかかわらず、Webページとしては異なるために、このような関係にあるWebページについては当該共通のスクリプトプログラムを含めてWebページ全体を再度受信することになる。
また、近年、Webページの更新は短時間に頻繁に行われているために、特許文献1に提案されている方法を用いてあるWebページの内容をキャッシュしておいたとしても、更新をするたびに再度当該Webページ全体を受信する必要がある。よって、上述のように異なるWebページを訪問する場合、特許文献1に提案されている方法を用いても、Webページに係るデータの受信量を抑制することができず、Webページの表示操作を行ってから表示されるまでに、多くの時間を必要としてしまう。
そこで、端末において、Webページに係るデータの受信量を抑制し、Webページの表示操作を行ってから表示されるまでの時間を短縮することができるWebサーバが求められている。
本発明は、端末において、スクリプトプログラムを含むWebページについて、一度受信したスクリプトプログラムの再受信を回避し、Webページの表示操作を行ってから表示されるまでの時間を短縮することができるWebサーバ及びその方法を提供することを目的とする。
(1)通信ネットワークを介して接続可能な端末に対して、スクリプトを含むWebページを送信するWebサーバであって、表示対象のWebページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトを、前記Webページに埋め込み、当該WebページをWebページ記憶手段に記憶させる管理スクリプト埋込手段と、前記端末からの前記Webページのリクエストを受け付けたことに応じて、前記Webページ記憶手段に記憶されている前記Webページを前記端末に送信するWebページ送信手段と、を備え、前記管理スクリプトは、前記端末に、前記Webサーバのドメインに応じて割り当てられた前記端末の保存領域に、前記対象スクリプトが記憶されているか否かを確認する存在確認ステップと、前記保存領域に前記対象スクリプトが記憶されている場合に、当該対象スクリプトを当該保存領域から読み出して、展開して実行する第1実行ステップと、前記保存領域に前記対象スクリプトが記憶されていない場合に、当該対象スクリプトの取得を前記Webサーバに要求する対象スクリプト要求ステップと、前記Webサーバから前記対象スクリプト要求ステップにおいて要求した、前記対象スクリプトを受信する対象スクリプト受信ステップと、前記対象スクリプト受信ステップにおいて受信した前記対象スクリプトを、展開して実行する第2実行ステップと、前記対象スクリプト受信ステップにおいて受信した前記対象スクリプトを、当該対象スクリプトを識別する識別情報と関連付けて前記保存領域に記憶させる対象スクリプト記憶ステップと、を実行させる、Webサーバ。
(1)のWebサーバは、管理スクリプト埋込手段により、表示対象のWebページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトを、Webページに埋め込み、当該WebページをWebページ記憶手段に記憶させ、Webページ送信手段により、端末からのWebページのリクエストを受け付けたことに応じて、Webページ記憶手段に記憶されているWebページを端末に送信する。
よって、(1)のWebサーバは、対象スクリプトをWebページに含ませないので、Webページのデータ量を削減することができる。また、表示対象のWebページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトにより、対象スクリプトを受信させるか否かを決定させるので、対象スクリプトを単にWebページに含ませて送信する場合に比べて、端末におけるWebページに係るデータの受信量を抑制することができる。
また、(1)のWebサーバの埋込手段によりWebページに埋め込まれる管理スクリプトは、以下の処理を端末に実行させる。すなわち、端末は、Webサーバのドメインに応じて割り当てられた端末の保存領域に、対象スクリプトが存在するか否かを確認し、保存領域に対象スクリプトが存在する場合に、当該保存領域に存在する対象スクリプトを読み出して実行し、保存領域に対象スクリプトが存在しない場合に、対象スクリプトの取得をWebサーバに要求して、Webサーバから対象スクリプトを受信し、受信した対象スクリプトを保存領域に記憶させ、受信した対象スクリプトを読み出して実行する。
よって、端末側では、Webページの表示に必要な対象スクリプトを、Webページを受信するごとに、Webサーバから受信する必要がないので、端末におけるWebページに係るデータの受信量を抑制することができる。すなわち、Webサーバは、管理スクリプトをWebページの要求ごとに送信する必要があるものの、対象スクリプトの送信回数を抑制することができるので、ユーザ端末に送信するWebページのデータ量を削減することができる。そして、上述のように、管理スクリプトは、対象スクリプトの内容によらず共通のアルゴリズムを採用できるので、比較的容量が大きくなる対象スクリプトに比較して、極めて小さな容量で実現することができる。
(2)前記端末の保存領域は、HTML5のWeb Storageのローカルストレージにより実装される(1)に記載のWebサーバ。
(2)のWebサーバによれば、端末の保存領域は、Webサーバのドメインに応じて割り当てられたHTML5のWeb Storageのローカルストレージにより実装される。よって、(2)のWebサーバは、標準技術である、HTML5のWeb Storageのローカルストレージにより、広範囲の端末に適用することができ、端末側に対象スクリプトを永続的に記憶させることができるため、同一セッションが終了して、再度アクセスした場合においても、Webページの表示操作を行ってから表示されるまでの時間を短縮することができる。
(3)前記対象スクリプトを記憶する対象スクリプト記憶手段と、前記端末から前記対象スクリプトの取得要求を受け付ける対象スクリプト要求受付手段と、前記対象スクリプト要求受付手段により、前記対象スクリプトの取得要求を受け付けたことに応じて、前記対象スクリプト記憶手段に記憶されている対象スクリプトのうち、当該取得要求に対応する対象スクリプトを前記端末に送信する対象スクリプト送信手段と、を更に備える(1)又は(2)に記載のWebサーバ。
(3)のWebサーバは、対象スクリプト送信手段により、対象スクリプト要求受付手段が対象スクリプトの取得要求を受け付けたことに応じて、対象スクリプト記憶手段に記憶されている対象スクリプトのうち、当該取得要求に対応する対象スクリプトを端末に送信する。よって、(3)のWebサーバは、端末における管理スクリプトの処理に応じて、対象スクリプトを端末に送信することができる。
(4)前記対象スクリプト記憶手段及び前記端末の保存領域は、前記対象スクリプトを共通のキーを有するkey=value形式で記憶する(3)に記載のWebサーバ。
(4)のWebサーバは、対象スクリプトを、端末の保存領域と共通のキーを有するkey=value形式で保存できるようにデータを圧縮した状態で記憶するので、端末に保存するためにデータの形式を分析、変換する必要がない。したがって、対象スクリプトを端末に送信する場合に、当該共通のkey=value形式で対象スクリプトを記憶しない場合に比べて、当該Webサーバ及び端末の処理を省力化することにより、Webページの表示操作を行ってから表示されるまでの時間を更に短縮することができる。
(5)前記対象スクリプト記憶手段及び前記端末の保存領域は、前記対象スクリプトに対応するURLを含むファイル名を共通のキーとして記憶する(4)に記載のWebサーバ。
(5)のWebサーバによれば、対象スクリプト記憶手段及び端末の保存領域は、共通のキーとしてのURLを含むファイル名を、対象スクリプトの識別情報として使用することができる。よって、端末の保存領域において、新たに識別用の情報を記憶する領域を確保することが不要になる。そして、キーはWeb上のファイルの場所を示すURLを含むため、端末は、キーから対応するダウンロード先を新たに指定する必要がない。したがって、対象スクリプトをダウンロードするまでの時間をより短縮することにより、Webページの表示操作を行ってから表示されるまでの時間を更に短縮することができる。
(6)通信ネットワークを介して接続可能な端末に対して、スクリプトを含むWebページを送信するWebサーバが実行する方法であって、前記Webサーバが、表示対象のWebページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトを、前記Webページに埋め込み、当該Webページを、前記Webサーバが備えるWebページ記憶手段に記憶させる管理スクリプト埋込ステップと、前記Webサーバが、前記端末からの前記Webページのリクエストを受け付けたことに応じて、前記Webページ記憶手段に記憶されている前記Webページを前記端末に送信するWebページ送信ステップと、を含み、前記管理スクリプトは、前記端末に、前記Webサーバのドメインに応じて割り当てられた前記端末の保存領域に、前記対象スクリプトが記憶されているか否かを確認する存在確認ステップと、前記保存領域に前記対象スクリプトが記憶されている場合に、当該対象スクリプトを当該保存領域から読み出して、展開して実行する第1実行ステップと、前記保存領域に前記対象スクリプトが記憶されていない場合に、当該対象スクリプトの取得を前記Webサーバに要求する対象スクリプト要求ステップと、前記Webサーバから前記対象スクリプト要求ステップにおいて要求した、前記対象スクリプトを受信する対象スクリプト受信ステップと、前記対象スクリプト受信ステップにおいて受信した前記対象スクリプトを、展開して実行する第2実行ステップと、前記対象スクリプト受信ステップにおいて受信した前記対象スクリプトを、当該対象スクリプトを識別する識別情報と関連付けて前記保存領域に記憶させる対象スクリプト記憶ステップと、を実行させる方法。
(6)に記載の方法によれば、当該方法に係る発明を実施することにより、(1)と同様の効果が期待できる。
本発明によれば、端末において、スクリプトプログラムを含むWebページについて、一度受信したスクリプトプログラムの再受信を回避し、Webページの表示操作を行ってから表示されるまでの時間を短縮することができる。
本実施形態に係るWebサーバ及びユーザ端末の機能概要を示す図である。 本実施形態に係るユーザ端末に設けられるブラウザが解釈することが可能な形式のスクリプトの一例を示す図である。 本実施形態に係るユーザ端末に設けられるブラウザが解釈することが不可能な形式のスクリプトの一例を示す図である。 本実施形態に係るWeb Storageのローカルストレージに記憶されている内容の一例を示す図である。 本実施形態に係る管理スクリプトの一例を示す図である。 本実施形態に係るWebサーバの制御部及びユーザ端末の制御部における処理を示すフローチャートである。 図6に続くフローチャートである。
以下、本実施形態について図を参照しながら説明する。
[機能構成]
図1は、本実施形態に係るWebサーバ1及びユーザ端末2の機能概要を示す図である。Webサーバ1は、通信ネットワークを介して、ユーザ端末2(端末)に接続可能であり、スクリプトプログラムを含むWebページをユーザ端末2に高速表示させるWebサーバである。
本実施形態は、コンピュータ(Webサーバ1及びユーザ端末2)及びその周辺装置に適用される。本実施形態における各部は、コンピュータ及びその周辺装置が備えるハードウェア並びにこのハードウェアを制御するソフトウェアによって構成される。
上記ハードウェアには、制御部としてのCPUの他、記憶部、通信部、表示部及び入力部が含まれる。記憶部としては、例えば、メモリ(RAM、ROM等)、ハードディスクドライブ(HDD)及び光ディスク(CD、DVD等)ドライブが挙げられる。通信部としては、例えば、各種有線及び無線インターフェース装置が挙げられる。表示部としては、例えば、液晶ディスプレイ、プラズマディスプレイ等の各種ディスプレイが挙げられる。入力部としては、例えば、キーボード及びポインティング・デバイス(マウス、トラッキングボール等)が挙げられる。
上記ソフトウェアには、上記ハードウェアを制御するコンピュータ・プログラムやデータが含まれる。コンピュータ・プログラムやデータは、記憶部により記憶され、制御部により適宜実行、参照される。また、コンピュータ・プログラムやデータは、通信ネットワークを介して配布することも可能であり、CD−ROM等のコンピュータ可読媒体に記録して配布することも可能である。
Webサーバ1は、制御部10と、記憶部20と、を備える。
Webサーバ1の制御部10は、圧縮部11と、管理スクリプト埋込部12(管理スクリプト埋込手段)と、リクエスト受付部13と、Webページ送信部14(Webページ送信手段)と、対象スクリプト要求受付部15(対象スクリプト要求受付手段)と、対象スクリプト送信部16(対象スクリプト送信手段)と、を備える。また、Webサーバ1の記憶部20は、Webページを記憶するWebページ記憶部21(Webページ記憶手段)と、対象スクリプトを記憶する対象スクリプト記憶部22(対象スクリプト記憶手段)と、を備える。
圧縮部11は、Webページの表示に必要とし、ユーザ端末2に設けられるブラウザが解釈することが可能な形式の対象スクリプトプログラム(以下、対象スクリプトプログラムを、単に対象スクリプトという)を、key=value形式のvalue型として保存可能な形式に圧縮し、対象スクリプトをユーザ端末2の保存領域51と共通のキーを有するkey=value形式で保存できるようにデータを圧縮した状態で対象スクリプト記憶部22に記憶させる。対象スクリプトは、表示対象のWebページの内容に応じて、ユーザ端末2にダウンロードさせるスクリプトである。
ここで、ユーザ端末2に設けられるブラウザが解釈することが可能な形式の対象スクリプトは、図2に示すような、JavaScript(登録商標)であり、当該対象スクリプトは、図3に示すようなkey=value形式に圧縮されてユーザ端末2に送信され、後述の保存領域51に記憶される。
管理スクリプト埋込部12は、対象スクリプトを管理する管理スクリプトを、Webページに埋め込み、このWebページをWebページ記憶部21に記憶させる。管理スクリプトの詳細な機能については後述する。
リクエスト受付部13は、ユーザ端末2から、Webページのリクエストを受け付ける。
Webページ送信部14は、ユーザ端末2からのWebページのリクエストを受け付けたことに応じて、Webページ記憶部21に記憶されているWebページをユーザ端末2に送信する。具体的には、Webページ送信部14は、リクエスト受付部13により、ユーザ端末2からWebページのリクエストを受け付けたことに応じて、Webページ記憶部21に記憶されているWebページのうち、このリクエストに対応するWebページをユーザ端末2に送信する。
対象スクリプト要求受付部15は、後述するユーザ端末2からの対象スクリプトの取得要求を受け付ける。
対象スクリプト送信部16は、対象スクリプト要求受付部15により、ユーザ端末2から対象スクリプトの取得要求を受け付けたことに応じて、対象スクリプト記憶部22に記憶されている対象スクリプトのうち、この取得要求に対応する対象スクリプトをユーザ端末2に送信する。
ユーザ端末2は、入力部31と、表示部32と、制御部40と、記憶部50と、を備える。
入力部31は、ユーザから、ユーザ端末2の操作入力を受け付ける。表示部32は、ユーザ端末2が備える機能に関する情報を表示し、例えば、Webページを表示するためのブラウザを表示する。
制御部40は、入力部31により、ユーザからWebページのリクエスト操作を受け付けたことに応じて、WebページのリクエストをWebサーバ1に送信する。また、制御部40は、Webページを受信したことに応じて、Webページを表示部32のブラウザに表示させる。具体的には、制御部40は、Webページを表示部32のブラウザに表示させる際に、このWebページに管理スクリプトや対象スクリプト等を含むスクリプトが含まれている場合、このスクリプトを実行し、実行結果に基づいてWebページを表示部32のブラウザに表示させる。
記憶部50は、Webサーバのドメインに応じて割り当てられる保存領域51を備える。この保存領域51は、例えば、HTML5のローカルキャッシュ機能である、Web Storageのローカルストレージにより実装され、Webサーバのドメインごとに、このドメインに対応する対象スクリプトを記憶する。なお、HTML5のWeb Storageのローカルストレージは、クライアントサイド、すなわち、ユーザ端末2側にデータを永続的に記憶するための仕組みであり、key=value形式のデータを記憶可能なローカルストレージである。つまり、対象スクリプト記憶部22及びユーザ端末2の保存領域51は、対象スクリプトを共通のキーを有するkey=value形式で記憶する。
図4は、本実施形態に係るWeb Storageのローカルストレージに記憶される内容の例を示す図である。Web Storage機能では、Webサーバのドメインごとに対象スクリプトが記憶されており、図4に示される例では、ドメイン「***.co.jp」における対象スクリプトが記憶されている。このWeb Storageでは、key=value形式のデータを記憶しており、図4に示される例では、対象スクリプト記憶部22及びユーザ端末2の保存領域51における共通のKey(キー)として対象スクリプトのURLを含むファイル名及びバージョン番号を記憶しており、例えば、対象スクリプトが記憶されているか否かを確認する処理において、このファイル名が参照される。また、図4に示される例では、Valueとして、ファイルのバージョン番号に対応した対象スクリプト本体を記憶している。
続いて、Webページに含まれ、制御部40において実行される管理スクリプトについて、詳細に説明する。
図5は、本実施形態に係る管理スクリプトの一例を示す図である。
この管理スクリプトは、対象スクリプトのファイル名と、この対象スクリプトのバージョン番号を指定して実行させるスクリプトである。この管理スクリプトは、上述のように、管理スクリプト埋込部12により、Webページに埋め込まれるものであり、また、対象スクリプトのファイル名及びバージョン番号を識別情報として、記憶領域51に存在するか否かが判定され、実行される。
図5に示されるように、管理スクリプトは、本実施形態において、Webサーバのドメインごとに共通して使用する機能の処理を定義する関数定義部Aと、当該関数定義部Aにおいて定義された管理スクリプトの関数に対して、当該管理スクリプトの関数が埋め込まれたWebページごとに必要となる個別の対象スクリプトのファイル名及びバージョン番号を引数として渡して当該管理スクリプトの関数を実行させる関数実行部Bと、を備える。
関数実行部Bにより、関数定義部Aに定義されている関数に対して、引数として、対象スクリプトの名称と、この対象スクリプトのバージョン番号とが渡されると、管理スクリプトは以下の処理を実行する。
まず、管理スクリプトは、Keyとしての対象スクリプトのファイル名に基づいて、保存領域51に、対象スクリプトが記憶されているか否かを確認する処理を制御部40に実行させる。図5に示される例では、コードC1により、保存領域51に、対象スクリプトが記憶されているか否かの確認が実行される。
続いて、管理スクリプトは、保存領域51に対象スクリプトが記憶されている場合に、この対象スクリプトのバージョン番号をチェックする処理を制御部40に実行させる。図5に示される例では、コードC2により、対象スクリプトのバージョンが最新のものか否かのチェックが実行される。
続いて、管理スクリプトは、保存領域51に対象スクリプトが記憶されている場合に、この対象スクリプトを保存領域51から読み出して展開して制御部40に実行させる。図5に示される例では、コードC3により、保存領域51に記憶されている対象スクリプトのバージョン番号が、引数として渡されたバージョン番号よりも大きいと判定された場合に、コードC3により、対象スクリプトの実行が行われる。具体的には、コードC3に示される関数evalにより、保存領域51にkey=value形式で記憶され、図4に示されるValue形式の対象スクリプトが読み出されて展開され、例えば、図2に示される対象スクリプトとして実行される。
一方、管理スクリプトは、保存領域51に対象スクリプトが記憶されていない場合に、対象スクリプトの取得をWebサーバ1に要求する処理を制御部40に実行させる。続いて、管理スクリプトは、Webサーバ1から対象スクリプトを受信(ダウンロード)し、受信した対象スクリプトを、展開して実行させる。図5に示される例では、コードC5により、Webサーバ1への対象スクリプトの要求、対象スクリプトの受信を行い、コードC4により保存領域51に当該対象スクリプトを保存すると共に、当該対象スクリプトの実行が行われる。
ここで、保存領域51は、例えば、対象スクリプトをダウンロードするドメインごとに確保され、対象スクリプトのファイル名及びバージョン番号をKeyとすることができる。図5に示される例では、コードC4により、保存領域51への対象スクリプトの記憶が行われる。
[フローチャート]
図6及び図7は、本実施形態に係るWebサーバ1の制御部10及びユーザ端末2の制御部40における処理を示すフローチャートである。なお、ここでは、Webページ記憶部21にWebページが予め記憶され、対象スクリプト記憶部22に対象スクリプトが予め記憶されているものとする。
ステップS1において、ユーザ端末2の制御部40は、入力部31により、ユーザからWebページのリクエスト操作を受け付けたことに応じて、WebページのリクエストをWebサーバ1に送信する。
ステップS2において、Webサーバ1の制御部10(リクエスト受付部13)は、ユーザ端末2から、Webページのリクエストを受け付ける。
ステップS3において、Webサーバ1の制御部10(Webページ送信部14)は、ステップS2においてユーザ端末2からのWebページのリクエストを受け付けたことに応じて、Webページ記憶部21に記憶されているWebページをユーザ端末2に送信する。このWebページには、管理スクリプトが含まれている。
ステップS4において、ユーザ端末2の制御部40は、Webサーバ1からWebページを受信する。
図7に移り、ユーザ端末2の制御部40は、受信したWebページに含まれる管理プログラムを実行する。なお、図7において破線で囲まれた処理、すなわち、ステップS5〜S8、S11〜S13の処理は、管理スクリプトを読み込むことにより実行されるものである。
ステップS5において、ユーザ端末2の制御部40は、保存領域51に、対象スクリプトが記憶されているか否かを確認する。具体的には、ユーザ端末2の制御部40は、管理スクリプトの名称(ファイル名)を識別情報として、この対象スクリプトが保存領域51に存在するか否かを判定する。ユーザ端末2の制御部40は、この判定がYESの場合、処理をステップS6に移し、この判定がNOの場合、処理をステップS8に移す。
ステップS6において、ユーザ端末2の制御部40は、保存領域51から、対象スクリプトを取得する。
ステップS7において、ユーザ端末2の制御部40は、取得した対象スクリプトのファイル名及びバージョン番号をチェックする処理を実行し、その後、対象スクリプトを実行する。ここで、対象スクリプトは、key=value形式で保存領域51に保存されており、スクリプト(図3参照)自体はvalueとして保存されている。そのため、ユーザ端末2の制御部40は、このスクリプトを、復元(展開)して実行する。この処理が終了すると、ユーザ端末2の制御部40は、処理をステップS14に移す。
ステップS8において、ユーザ端末2の制御部40は、Webサーバ1に対象スクリプトの取得要求を行う。
ステップS9において、Webサーバ1の制御部10(対象スクリプト要求受付部15)は、ユーザ端末2から、対象スクリプトの取得要求を受け付ける。
ステップS10において、Webサーバ1の制御部10(対象スクリプト送信部16)は、ステップS9において、ユーザ端末2から対象スクリプトの取得要求を受け付けたことに応じて、対象スクリプト記憶部22に記憶されている対象スクリプトのうち、この取得要求に対応する対象スクリプトをユーザ端末2に送信する。
ステップS11において、ユーザ端末2の制御部40は、Webサーバ1から対象スクリプトを受信する。
ステップS12において、ユーザ端末2の制御部40は、受信した対象スクリプトを、この対象スクリプトのファイル名及びバージョン番号を識別情報として保存領域51に記憶させる。
ステップS13において、ユーザ端末2の制御部40は、受信した対象スクリプトを実行する。ここで、ユーザ端末2の制御部40は、ステップS7における処理と同様に、key=value形式で受信した対象スクリプトを、復元(展開)して実行する。
ステップS14において、ユーザ端末2の制御部40は、実行した対象スクリプトの結果に基づいて、表示部32のブラウザにWebページを表示させる。
[計算結果]
続いて、従来の手法(Webページの受信の都度対象スクリプトを受信する手法)と、本実施形態の手法(管理スクリプトを所定のドメインにおけるWebページに共通して埋め込むことにより受信すると共に、できる限りユーザ端末2の保存領域51に記憶されている対象スクリプトを実行して対象スクリプトの受信回数を抑制する手法)とにより、Webページの表示操作を行ってから表示されるまでの時間を計算した結果(理論値)について説明する。
前提条件として、Webページを構成する画像が80KB(キロバイト:Kilo Bytes)、Webページ表示用の対象スクリプトが78KB、css(Cascading Style Sheets)が44KB、管理スクリプトが0.57KB、これらの構成以外のhtml文書が29KBである場合、すなわち、Webページのデータ量が合計で約232KBであることとする。すなわち、管理スクリプトの容量は、対象スクリプトの容量に対して、約7%ときわめて小さいものとする。また、通信速度は、一般的な携帯電話機の通信速度を想定して260kbps(kilo bit per second)であることとする。また、端末側の表示処理にかかる時間は、その他の処理に比べて軽微であり、かつ、比較対象で共通であるので無視できるものとする。また、本実施形態の手法では、ユーザ端末2に表示用のスクリプト(対象スクリプト)が記憶されていることとして計算を行う。
従来の手法では、このWebページのデータをすべて受信するので、Webページの表示操作を行ってから表示されるまでの時間が約7.1秒となる。これに対し、本実施形態の手法では、Webページ表示用のスクリプト(対象スクリプト)を受信することが不要になるので、合計で154KB受信することとなる。よって、本実施形態の手法では、Webページの表示操作を行ってから表示されるまでの時間が約4.7秒となる。
このように、本実施形態の手法では、上述の条件において、従来の手法に比べて約2.4秒(33.8%)の高速化を実現することができた。
以上のように、本実施形態によれば、Webサーバ1は、管理スクリプト埋込部12により、表示対象のWebページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトを、Webページに埋め込み、当該WebページをWebページ記憶部21に記憶させ、Webページ送信部14により、ユーザ端末2からのWebページのリクエストを受け付けたことに応じて、Webページ記憶部21に記憶されているWebページをユーザ端末2に送信する。
更に、Webサーバ1は、表示対象のWebページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトにより、対象スクリプトを受信させるか否かを決定させるので、対象スクリプトを単にWebページに含ませて送信する場合に比べて、ユーザ端末2におけるWebページに係るデータの受信量を抑制することができる。
すなわち、管理スクリプト埋込部12によりWebページに埋め込まれる管理スクリプトは、以下の処理をユーザ端末2に実行させる。すなわち、ユーザ端末2は、Webサーバのドメインに応じて割り当てられたユーザ端末2の保存領域51に、対象スクリプトが存在するか否かを確認し、保存領域51に対象スクリプトが存在する場合に、当該保存領域51に存在する対象スクリプトを読み出して実行し、保存領域51に対象スクリプトが存在しない場合に、対象スクリプトの取得をWebサーバ1に要求して、Webサーバから対象スクリプトを受信(ダウンロード)し、受信した対象スクリプトを保存領域51に記憶させ、受信した対象スクリプトを読み出して実行する。
よって、ユーザ端末2側では、Webサーバのドメインに応じて割り当てられたユーザ端末2の保存領域51に存在している場合には、Webページの表示に必要な対象スクリプトを、Webページを受信するごとに、Webサーバ1から受信する必要がないので、ユーザ端末2におけるWebページに係るデータの受信量を抑制することができる。すなわち、Webサーバ1は、管理スクリプトをWebページの要求ごとに送信する必要があるものの、対象スクリプトの送信回数を抑制することができるので、ユーザ端末2に送信するWebページのデータ量を削減することができる。そして、上述のように、管理スクリプトは、対象スクリプトの内容によらず共通のアルゴリズムを採用できるので、比較的容量が大きくなる対象スクリプトに比較して、極めて小さな容量で実現することができる。
なお、保存領域51は、Webページを送信するドメインごとに対象スクリプトを記憶するので、同一ドメインにおいて共通する、比較的容量の小さな管理スクリプトを運用することができる。したがって、当該ドメインにおいて送信するWebページごとに、比較的容量の大きな対象スクリプトの内容が異なっている場合においても、それ以前に他のWebページで使用し、保存領域51に記憶した対象スクリプトはダウンロードする必要がなくなるので、同一ドメインにおいてWebページの要求を行えば行うほど上述の効果は顕著なものとなる。
また、ユーザ端末2の保存領域51は、Webサーバのドメインに応じて割り当てられたHTML5のWeb Storageのローカルストレージにより実装される。よって、Webサーバ1は、標準技術である、HTML5のWeb Storageのローカルストレージにより、ユーザ端末2側に対象スクリプトを永続的に記憶させることができるため、同一セッションが終了して、再度アクセスした場合においても、Webページの表示操作を行ってから表示されるまでの時間を短縮することができる。
また、Webサーバ1は、対象スクリプト送信部16により、対象スクリプト要求受付部15が対象スクリプトの取得要求を、ユーザ端末2から受け付けたことに応じて、対象スクリプト記憶部22に記憶されている対象スクリプトのうち、当該取得要求に対応する対象スクリプトをユーザ端末2に送信する。よって、Webサーバ1は、ユーザ端末2における管理スクリプトの処理に応じて、対象スクリプトをユーザ端末2に送信することができる。
また、Webサーバ1は、対象スクリプトを、ユーザ端末2の保存領域51と共通のキーを有するkey=value形式で保存できるようにデータを圧縮した状態で記憶するので、ユーザ端末2に保存するためにデータの形式を分析、変換する必要がない。したがって、対象スクリプトをユーザ端末2に送信する場合に、当該共通のkey=value形式で対象スクリプトを記憶しない場合に比べて、当該Webサーバ1及びユーザ端末2の処理を省力化することにより、Webページの表示操作を行ってから表示されるまでの時間を更に短縮することができる。
また、対象スクリプト記憶部22及びユーザ端末2の保存領域51は、共通のキーとしてのURLを含むファイル名を、対象スクリプトの識別情報として使用することができる。よって、ユーザ端末2の保存領域51において、新たに識別用の情報を記憶する領域を確保することが不要になる。そして、キーはWeb上のファイルの場所を示すURLを含むため、ユーザ端末2は、キーから対応するダウンロード先を新たに指定する必要がない。したがって、Webサーバ1は、対象スクリプトをダウンロードするまでの時間をより短縮することにより、Webページの表示操作を行ってから表示されるまでの時間を更に短縮することができる。
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
1 Webサーバ
2 ユーザ端末(端末)
10、40 制御部
11 圧縮部
12 管理スクリプト埋込部(管理スクリプト埋込手段)
13 リクエスト受付部
14 Webページ送信部(Webページ送信手段)
15 対象スクリプト要求受付部(対象スクリプト要求受付手段)
16 対象スクリプト送信部(対象スクリプト送信手段)
20、50 記憶部
21 Webページ記憶部(Webページ記憶手段)
22 対象スクリプト記憶部(対象スクリプト記憶手段)
31 入力部
32 表示部
51 保存領域

Claims (6)

  1. 通信ネットワークを介して接続可能な端末に対して、スクリプトを含むWebページを送信するWebサーバであって、
    表示対象のWebページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトを、前記Webページに埋め込み、当該WebページをWebページ記憶手段に記憶させる管理スクリプト埋込手段と、
    前記端末からの前記Webページのリクエストを受け付けたことに応じて、前記Webページ記憶手段に記憶されている前記Webページを前記端末に送信するWebページ送信手段と、を備え、
    前記管理スクリプトは、前記端末に、
    前記Webサーバのドメインに応じて割り当てられた前記端末の保存領域に、前記対象スクリプトが記憶されているか否かを確認する存在確認ステップと、
    前記保存領域に前記対象スクリプトが記憶されている場合に、当該対象スクリプトを当該保存領域から読み出して、展開して実行する第1実行ステップと、
    前記保存領域に前記対象スクリプトが記憶されていない場合に、当該対象スクリプトの取得を前記Webサーバに要求する対象スクリプト要求ステップと、
    前記Webサーバから前記対象スクリプト要求ステップにおいて要求した、前記対象スクリプトを受信する対象スクリプト受信ステップと、
    前記対象スクリプト受信ステップにおいて受信した前記対象スクリプトを、展開して実行する第2実行ステップと、
    前記対象スクリプト受信ステップにおいて受信した前記対象スクリプトを、当該対象スクリプトを識別する識別情報と関連付けて前記保存領域に記憶させる対象スクリプト記憶ステップと、
    を実行させる、
    Webサーバ。
  2. 前記端末の保存領域は、HTML5のWeb Storageのローカルストレージにより実装される請求項1に記載のWebサーバ。
  3. 前記対象スクリプトを記憶する対象スクリプト記憶手段と、
    前記端末から前記対象スクリプトの取得要求を受け付ける対象スクリプト要求受付手段と、
    前記対象スクリプト要求受付手段により、前記対象スクリプトの取得要求を受け付けたことに応じて、前記対象スクリプト記憶手段に記憶されている対象スクリプトのうち、当該取得要求に対応する対象スクリプトを前記端末に送信する対象スクリプト送信手段と、を更に備える請求項1又は2に記載のWebサーバ。
  4. 前記対象スクリプト記憶手段及び前記端末の保存領域は、前記対象スクリプトを共通のキーを有するkey=value形式で記憶する請求項3に記載のWebサーバ。
  5. 前記対象スクリプト記憶手段及び前記端末の保存領域は、前記対象スクリプトに対応するURLを含むファイル名を共通のキーとして記憶する請求項4に記載のWebサーバ。
  6. 通信ネットワークを介して接続可能な端末に対して、スクリプトを含むWebページを送信するWebサーバが実行する方法であって、
    前記Webサーバが、表示対象のWebページの内容に応じてダウンロードさせる対象スクリプトを管理する管理スクリプトを、前記Webページに埋め込み、当該Webページを、前記Webサーバが備えるWebページ記憶手段に記憶させる管理スクリプト埋込ステップと、
    前記Webサーバが、前記端末からの前記Webページのリクエストを受け付けたことに応じて、前記Webページ記憶手段に記憶されている前記Webページを前記端末に送信するWebページ送信ステップと、を含み、
    前記管理スクリプトは、前記端末に、
    前記Webサーバのドメインに応じて割り当てられた前記端末の保存領域に、前記対象スクリプトが記憶されているか否かを確認する存在確認ステップと、
    前記保存領域に前記対象スクリプトが記憶されている場合に、当該対象スクリプトを当該保存領域から読み出して、展開して実行する第1実行ステップと、
    前記保存領域に前記対象スクリプトが記憶されていない場合に、当該対象スクリプトの取得を前記Webサーバに要求する対象スクリプト要求ステップと、
    前記Webサーバから前記対象スクリプト要求ステップにおいて要求した、前記対象スクリプトを受信する対象スクリプト受信ステップと、
    前記対象スクリプト受信ステップにおいて受信した前記対象スクリプトを、展開して実行する第2実行ステップと、
    前記対象スクリプト受信ステップにおいて受信した前記対象スクリプトを、当該対象スクリプトを識別する識別情報と関連付けて前記保存領域に記憶させる対象スクリプト記憶ステップと、
    を実行させる方法。
JP2010202259A 2010-09-09 2010-09-09 スクリプトプログラムを含むWebページを端末に高速表示させるWebサーバ及びその方法 Active JP5231500B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010202259A JP5231500B2 (ja) 2010-09-09 2010-09-09 スクリプトプログラムを含むWebページを端末に高速表示させるWebサーバ及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010202259A JP5231500B2 (ja) 2010-09-09 2010-09-09 スクリプトプログラムを含むWebページを端末に高速表示させるWebサーバ及びその方法

Publications (2)

Publication Number Publication Date
JP2012059060A true JP2012059060A (ja) 2012-03-22
JP5231500B2 JP5231500B2 (ja) 2013-07-10

Family

ID=46056071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010202259A Active JP5231500B2 (ja) 2010-09-09 2010-09-09 スクリプトプログラムを含むWebページを端末に高速表示させるWebサーバ及びその方法

Country Status (1)

Country Link
JP (1) JP5231500B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5604016B1 (ja) * 2014-07-04 2014-10-08 株式会社 ディー・エヌ・エー スクリプトのキャッシュ方法及びそれを適用した情報処理装置
JP5974241B1 (ja) * 2015-06-12 2016-08-23 株式会社オープンエイト 動画表示枠制御装置およびプログラム
JP2019061696A (ja) * 2018-11-16 2019-04-18 Kddi株式会社 端末装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010525489A (ja) * 2007-04-27 2010-07-22 マイクロソフト コーポレーション スクリプトを動的にロードすること

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010525489A (ja) * 2007-04-27 2010-07-22 マイクロソフト コーポレーション スクリプトを動的にロードすること

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5604016B1 (ja) * 2014-07-04 2014-10-08 株式会社 ディー・エヌ・エー スクリプトのキャッシュ方法及びそれを適用した情報処理装置
US9571557B2 (en) 2014-07-04 2017-02-14 DeNA Co., Ltd. Script caching method and information processing device utilizing the same
JP5974241B1 (ja) * 2015-06-12 2016-08-23 株式会社オープンエイト 動画表示枠制御装置およびプログラム
JP2017004326A (ja) * 2015-06-12 2017-01-05 株式会社オープンエイト 動画表示枠制御装置およびプログラム
JP2019061696A (ja) * 2018-11-16 2019-04-18 Kddi株式会社 端末装置

Also Published As

Publication number Publication date
JP5231500B2 (ja) 2013-07-10

Similar Documents

Publication Publication Date Title
CN106776761B (zh) 一种移动浏览器渲染网页的方法及装置
JP2011108102A (ja) ウェブサーバ、ウェブブラウザおよびウェブシステム
US20130219383A1 (en) Using an Application Cache to Update Resources of Installed Applications
JP2007200311A (ja) ウェブ・サービス要求をキャッシュする方法、システム、及びコンピュータ・プログラム(ウェブ・サービス要求のキャッシュ)
KR101453743B1 (ko) 웹 어플리케이션을 위한 사전 캐싱 방법 및 이를 적용한 단말 장치
KR20110090772A (ko) 클라이언트 프로그램, 단말, 서버 장치, 시스템 및 방법
US9906626B2 (en) Resource demand-based network page generation
JP5231500B2 (ja) スクリプトプログラムを含むWebページを端末に高速表示させるWebサーバ及びその方法
JP2010061542A (ja) 通信端末、通信方法、信号処理装置、信号処理方法及び通信システム
JP5251701B2 (ja) サーバ装置、サーバベース・コンピューティング・システム、およびサーバ制御プログラム
EP2287739A2 (en) Apparatus and method of data communication between web applications
JP4815501B2 (ja) 端末装置及びプログラム
CN113761412A (zh) 应用页面的显示方法、装置、电子设备、介质及应用系统
JP2009187466A (ja) プロキシシステム及び中継方法
JP5262362B2 (ja) サーバ装置、クライアント装置、及びプログラム
JP4373480B2 (ja) 通信装置及びプログラム
JP2015146100A (ja) 端末装置に表示画面を表示させるサーバ及び方法
JP5637406B2 (ja) データ送信装置、およびプログラム
US20140237133A1 (en) Page download control method, system and program for ie core browser
JP2010041401A (ja) 中継装置、通信中継方法、そのプログラム、及び中継システム
KR101589369B1 (ko) 비 휘발성 메모리를 이용한 처리된 자원 캐싱 장치 및 방법
JPWO2014155734A1 (ja) 情報処理システム、情報処理方法、データ、情報処理装置、表示装置、表示方法、プログラムおよび情報記憶媒体
KR100925644B1 (ko) 오브젝트 전송 시스템 및 그 제어방법
JP2004252005A (ja) データ提供装置、データ提供方法及びコンピュータプログラム
JP2006053893A (ja) データ処理システム、データ処理方法、処理装置、端末装置、携帯端末装置およびプログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120312

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120717

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120918

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120918

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130321

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

Free format text: PAYMENT UNTIL: 20160329

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5231500

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350