JP2010170453A - 静的Webサイト構築方法及び静的Webサイト構築サービス提供方法及び動的/静的変換処理装置及び動的/静的変換処理プログラム - Google Patents
静的Webサイト構築方法及び静的Webサイト構築サービス提供方法及び動的/静的変換処理装置及び動的/静的変換処理プログラム Download PDFInfo
- Publication number
- JP2010170453A JP2010170453A JP2009014050A JP2009014050A JP2010170453A JP 2010170453 A JP2010170453 A JP 2010170453A JP 2009014050 A JP2009014050 A JP 2009014050A JP 2009014050 A JP2009014050 A JP 2009014050A JP 2010170453 A JP2010170453 A JP 2010170453A
- Authority
- JP
- Japan
- Prior art keywords
- static
- page
- dynamic
- file
- link address
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】静的Webサイトを用いるにあたり、情報量が多くなると管理が非常に煩雑となるという欠点を改善した静的Webサイト構築方法の提供
【解決手段】動的/静的変換処理装置15によって、動的Webサーバ11にアクセスしてページを取得し、当該取得したページに含まれるリンクアドレスを、これがパラメタ区切り記号を含むものであればこれをパラメタ区切り記号を含まない形式でファイルの拡張子を「.html」に変換したリンクアドレスによって更新し、変換前のリンクアドレスに基づいて動的Webサーバ14からページを取得してこれを前記変換後のリンクアドレスに対応するアドレスとファイル名により静的Webページとして記憶させることで相互のリンクを維持させる処理を、繰り返し実行して静的Web構成を構築し、これをWWWサーバ11にアップする。
【選択図】図1
【解決手段】動的/静的変換処理装置15によって、動的Webサーバ11にアクセスしてページを取得し、当該取得したページに含まれるリンクアドレスを、これがパラメタ区切り記号を含むものであればこれをパラメタ区切り記号を含まない形式でファイルの拡張子を「.html」に変換したリンクアドレスによって更新し、変換前のリンクアドレスに基づいて動的Webサーバ14からページを取得してこれを前記変換後のリンクアドレスに対応するアドレスとファイル名により静的Webページとして記憶させることで相互のリンクを維持させる処理を、繰り返し実行して静的Web構成を構築し、これをWWWサーバ11にアップする。
【選択図】図1
Description
本発明は、Webサイトの構築方法またはWebサイトの構築サービス提供方法に関し、特に、静的なWebサイトを自動的に生成させる構築方法若しくは構築サービス提供方法又は動的/静的変換処理装置若しくは動的/静的変換処理プログラムに関する。
インターネット上に構築されるWebサイトでは、ユーザからのリクエストに対して動的にページを生成してこれを応答として返すもの(動的Webサイト)と、予め作成してある静的なページを応答として返すもの(静的Webサイト)がある。
動的Webサイトによれば、ユーザのリクエストに適合するページがその都度データベース化された情報に基づいて自動的に生成されるものであるため、データベースを更新すればこれに基づいて生成される各動的ページの内容も自動的に更新されることとなり、サイトの管理に優れるものとなる。これに対し、静的Webサイトの場合には基本的に予め全てのページを作成しておく必要があるため、ページの更新にはそれぞれのページを更新してやる必要があり、情報量が多くなると非常に煩雑な作業を要するものとなる。
一方、静的Webサイトの長所としては、動的Webサイトに比べ、レスポンス性に優れ、検索エンジンに掛かり易いという点がある。また、動的Webサイトでは、SQLインジェクション(管理者側の意図しないSQL文を実行させることによって、情報の盗取、データの改竄・破壊等をするもの)などによるセキュリティ上の問題が生じ得るものであるが静的Webサイトにそのような問題はない。このうち、静的ページが検索エンジンに掛かり易いという点に着目して動的ページを静的ページに変換するものが、特許文献1によって開示されている。
前述のごとく、静的Webサイトは幾つかの長所を有しており、特にセキュリティ上の観点などに基づき、静的Webサイトの構築しか許さないようなシステム環境もあり得る。しかし、前述のごとく静的Webサイトには、情報量が多くなると管理が非常に煩雑となる欠点があり、この点の改善が望まれるものである。
これに対し、特許文献1で開示される技術の場合、動的ページを外観上静的ページとして扱えるようにするものであるが、静的Webサイトそのものを構築させる技術という訳ではないため、上記の要求に適うものとはならない。即ち、静的Webサイトの構築しか許さないようなシステム環境にそのまま適用できるものではない。外観上静的リンクに見えるとはいえ、引数をそのまま動的Webサーバへと入力させることが前提とされる技術であるため、SQLインジェクション等の問題は依然として残るものである。
本発明は上述した点に鑑み、静的Webサイトが有する長所に基づいて静的Webサイトを用いるにあたり、情報量が多くなると管理が非常に煩雑となるという欠点を改善した静的Webサイト構築方法若しくは静的Webサイト構築サービス提供方法又は動的/静的変換処理装置若しくは動的/静的変換処理プログラムを提供することを目的とする。
本発明に係る第1の静的Webサイト構築方法は、Htmlファイルを構成するための部品となる各種コンテンツが格納されたコンテンツDBと、Htmlファイルの雛形となるテンプレートファイルが格納されたテンプレートDBと、前記コンテンツDBとテンプレートDBから必要な情報を取得して静的なWebページを自動生成する静的Webページ生成装置と、当該生成された静的Webページを一時的に記憶する記憶装置と、WWWサーバと、を備えることにより、前記静的Webページ生成装置によって静的Webページを生成させてこれを前記記憶装置に格納させ、当該記憶装置に格納された静的Webページを公開ネットワーク上にある前記WWWサーバにアップロードさせることによって、静的Webサイトを構築することを特徴とする。
上記構成によれば、静的Webページ生成装置によって自動的に静的Webページが生成されるため、これによってWWWサーバ上に構築されるWebサイトは静的Webサイトとなる。即ち、コンテンツDBやテンプレートDBを更新した上で静的Webページ生成装置に処理を実行させれば、各DBに基づいて生成される各ページの内容も自動的に更新されて静的Webサイトが自動的に構築されることとなる。
本発明に係る第2の静的Webサイト構築方法は、上記第1の静的Webサイト構築方法であって、前記静的Webページ生成装置が、前記コンテンツDBとテンプレートDBから必要な情報を取得して動的Webページを生成することが可能な動的Webサーバと、当該動的Webサーバにアクセスしてページを取得し、当該取得したページに含まれるリンクアドレスを検出し、当該リンクアドレスがリソースファイルへのリンクであるか否かを判別し、リソースファイルでなかった場合に、当該リンクアドレスがパラメタ区切り記号を含むものであればこれをパラメタ区切り記号を含まない形式に変換した上で、ファイルの拡張子を「.html」若しくは「.htm」に変換し、当該変換したリンクアドレスによって前記取得したページに含まれるリンクアドレスを更新し、変換前のリンクアドレスに基づいて前記動的Webサーバからページを取得してこれを前記変換後のリンクアドレスに対応するアドレスとファイル名により静的Webページとして前記記憶装置に記憶させることで相互のリンクを維持させる処理を、繰り返し実行する動的/静的変換処理装置と、によって構成され、これにより前記静的Webページを生成して前記記憶装置へ格納させることを特徴とする。
上記構成によれば、静的Webページ生成装置が、動的Webサーバと動的/静的変換処理装置とによって構成される。動的WebサーバによってコンテンツDBとテンプレートDBとに基づいて動的Webページを生成させ、これによって得られる動的Webページを静的Webページへと変換する処理を動的/静的変換処理装置に行わせることで、静的Webサイト構成を生成するものである。
本発明に係る第3の静的Webサイト構築方法は、上記第2の静的Webサイト構築方法であって、前記動的/静的変換処理装置による前記動的Webサーバからのページ取得処理において、前記動的/静的変換処理装置からのリクエストに対する前記動的Webサーバからの応答のヘッダ情報にエラー情報が含まれていた場合には、当該ページのアドレスにエラー情報を対応付けて記憶することを特徴とする。
上記構成によれば、動的Webサーバからの応答のヘッダ情報にエラー情報が含まれていた場合にはこれがログとして蓄積される。
本発明に係る第1の静的Webサイト構築サービス提供方法は、Htmlファイルを構成するための部品となる各種コンテンツが格納されたコンテンツDBと、Htmlファイルの雛形となるテンプレートファイルが格納されたテンプレートDBと、前記コンテンツDBとテンプレートDBから必要な情報を取得して静的なWebページを自動生成する静的Webページ生成装置と、当該生成された静的Webページを一時的に記憶する記憶装置と、を備えるシステムを有することにより、当該システムとネットワークを介して接続される顧客システム内の情報処理装置に、前記静的Webページ生成装置によって前記記憶装置に蓄積されている静的Webページをアップロードさせることで、顧客に対して静的Webサイトの構築サービスを提供することを特徴とする。
上記構成によれば、静的Webページ生成装置を備えるサービス提供者によって静的Webサイト構成が構築されてこれがサービス享受者(動的Webサーバを持っていない又は動的Webサーバの構築が許されていない環境の顧客など)に提供される。
本発明に係る第2の静的Webサイト構築サービス提供方法は、上記第1の静的Webサイト構築サービス提供方法であって、前記静的Webページ生成装置が、前記コンテンツDBとテンプレートDBから必要な情報を取得して動的Webページを生成することができる動的Webサーバと、当該動的Webサーバにアクセスしてページを取得し、当該取得したページに含まれるリンクアドレスを検出し、当該リンクアドレスがリソースファイルへのリンクであるか否かを判別し、リソースファイルでなかった場合に、当該リンクアドレスがパラメタ区切り記号を含むものであればこれをパラメタ区切り記号を含まない形式に変換した上で、ファイルの拡張子を「.html」若しくは「.htm」に変換し、当該変換したリンクアドレスによって前記取得したページに含まれるリンクアドレスを更新し、変換前のリンクアドレスに基づいて前記動的Webサーバからページを取得してこれを前記変換後のリンクアドレスに対応するアドレスとファイル名により静的Webページとして前記記憶装置に記憶させることで相互のリンクを維持させる処理を、繰り返し実行する動的/静的変換処理装置と、によって構成され、これにより前記静的Webページを生成して前記記憶装置へ格納させることを特徴とする。
本発明に係る第3の静的Webサイト構築サービス提供方法は、上記第1又は第2の静的Webサイト構築サービス提供方法であって、各顧客に識別情報を付与し、当該識別情報と前記各コンテンツDB若しくは前記各テンプレートDBの対応付けをすることにより、各顧客に対応する前記コンテンツDB若しくは前記テンプレートDBを判別可能とし、前記識別情報を用いた前記システムに対するログインがあった場合には、これに対応する前記コンテンツDB若しくは前記テンプレートDBに対する操作を許可することを特徴とする。
上記構成によれば、サービス享受者(動的Webサーバを持っていない又は動的Webサーバの構築が許されていない環境の顧客など)は、自己のサイトに対応するコンテンツDB若しくはテンプレートDB(各DBはサービス提供者側のシステム内に備えられる)の更新処理などを行うことができる。
本発明に係る第1の動的/静的変換処理装置は、制御部と記憶部と通信部とを備えることにより、ネットワークを介して接続される動的Webサーバにアクセスしてページを取得し、前記制御部によって、当該取得したページに含まれるリンクアドレスを検出し、当該リンクアドレスがリソースファイルへのリンクであるか否かを判別し、リソースファイルでなかった場合に、当該リンクアドレスがパラメタ区切り記号を含むものであればこれをパラメタ区切り記号を含まない形式に変換した上で、ファイルの拡張子を「.html」若しくは「.htm」に変換し、当該変換したリンクアドレスによって前記取得したページに含まれるリンクアドレスを更新し、変換前のリンクアドレスに基づいて前記動的Webサーバからページを取得してこれを前記変換後のリンクアドレスに対応するアドレスとファイル名により静的Webページとして前記記憶部若しくは外部記憶装置に記憶させることで相互のリンクを維持させる処理を、繰り返し実行することで、前記記憶部若しくは外部記憶装置に静的Weサイト構成を格納させることを特徴とする。
本発明に係る第2の動的/静的変換処理装置は、上記第1の動的/静的変換処理装置であって、前記動的Webサーバからのページ取得処理において、前記動的Webサーバからの応答のヘッダ情報にエラー情報が含まれていた場合には、当該ページのアドレスにエラー情報を対応付けて前記記憶部若しくは外部記憶装置に記憶させることを特徴とする。
本発明に係る第1の動的/静的変換処理プログラムは、制御部と記憶部と通信部とを備える情報処理装置に、ネットワークを介して接続される動的Webサーバにアクセスしてページを取得するステップと、当該取得したページに含まれるリンクアドレスを検出して当該リンクアドレスがリソースファイルへのリンクであるか否かを判別するステップと、これがリソースファイルでなかった場合に、当該リンクアドレスがパラメタ区切り記号を含むものであればこれをパラメタ区切り記号を含まない形式に変換する処理を実行した上でファイルの拡張子を「.html」若しくは「.htm」に変換するステップと、当該変換したリンクアドレスによって前記取得したページに含まれるリンクアドレスを更新するステップと、変換前のリンクアドレスに基づいて前記動的Webサーバからページを取得してこれを前記変換後のリンクアドレスに対応するアドレスとファイル名により静的Webページとして前記記憶部若しくは外部記憶装置に記憶させるステップとを、繰り返し実行させることで、前記記憶部若しくは外部記憶装置に静的Weサイト構成を格納させることを特徴とする。
本発明に係る第2の動的/静的変換処理プログラムは、上記第1の動的/静的変換処理プログラムであって、前記動的Webサーバからのページ取得処理において、前記動的Webサーバからの応答のヘッダ情報にエラー情報が含まれているか否かを判別するステップと、これが含まれていた場合に当該ページのアドレスにエラー情報を対応付けて前記記憶部若しくは外部記憶装置に記憶させるステップと、を実行させることを特徴とする。
本発明に係る第1の静的Webサイト構築方法によれば、コンテンツDBやテンプレートDBを更新することで、各ページが更新された静的Webサイトが自動的に構築されるようにすることができる。即ち、レスポンス性に優れ、検索エンジンに掛かり易くセキュリティにも優れるといった長所を持つ静的Webサイトを、動的Webサーバを管理するのと同程度の作業負担にて構築・管理することが可能となる。情報量が多くなると管理が非常に煩雑となるという静的Webサイトの欠点が改善されるものである。
本発明に係る第2の静的Webサイト構築方法によれば、静的Webページ生成装置が、動的Webサーバと動的/静的変換処理装置とによって構成される。動的/静的変換処理装置は、汎用のPCにアプリケーションをインストールすることによって構成することができるため、動的Webサーバを既に有しているような場合には、本発明を安価且つ容易に適用することができる。また、本発明によって構築される静的Webサイトの動作においては、動的Webサーバと静的Webサイトとは切り離されているため、静的Webサイトにアクセスする者によってSQLインジェクションを仕掛けられるおそれは無く、また、動的Webサーバに不具合が生じたような場合においても静的Webサイトの稼動に影響を与えない。
本発明に係る第3の静的Webサイト構築方法によれば、動的Webサーバからの応答のヘッダ情報にエラー情報が含まれていた場合にはこれがログとして蓄積されるため、当該ログに基づいて動的Webサーバによって構築されている動的Webサイトの評価(リンク切れのチェックなど)も行うことができる。
本発明に係る第1の静的Webサイト構築サービス提供方法によれば、静的なWeb環境しか持っていないような顧客に対しても、サイトの更新作業などが容易な静的Webサイトの構築サービスを提供することができる。さらに第2の静的Webサイト構築サービス提供方法によれば、動的Webサーバを持っていない(若しくは動的Webサーバの構築が許されていない環境の)顧客に対しても、動的Webサーバと同等の管理負担で済む(サイトの更新作業などが容易な)静的Webサイトの構築サービスを提供することができる。加えて第3の静的Webサイト構築サービス提供方法によれば、サービス享受者(動的Webサーバを持っていない又は動的Webサーバの構築が許されていない環境の顧客など)は、自己のサイトに対応するコンテンツDB若しくはテンプレートDBの更新処理などを行うことができる。よって、静的なWeb環境しか持っていないような者に対しても、動的Webサーバの環境におけるWebサイトを自己で管理するのと同等となるようなサイト構築のサービスを提供することができる。
以下、本発明の具体的実施例について、図面を参照しながら説明する。なお、以下の実施態様は、本発明を具体化する際の一形態であって、本発明をその範囲内に限定するためのものではない。
図1は、本発明に関するシステムの概略を示したブロック図である。図2は同システム中に備えられる動的/静的変換処理装置の構成の概略を示したブロック図である。
図1に示されるように、本実施例のシステム10は、ルータ12を介してインターネット20に接続されるDMZ(DeMilitarized Zone)191と、ファイアウォール13を介して形成される内部ネットワーク192とを備える。DMZ191上にはWWWサーバ11が設けられ、内部ネットワーク192には、動的Webサーバ14と、動的/静的変換処理装置15と、コンテンツDB16と、テンプレートDB17と、端末であるPC18等が設けられる。
動的Webサーバ14は、クライアントからの要求(GETメソッド)に応じて、要求中に含まれるパラメタを使用する等して、Htmlファイルを構成するための部品となる各種コンテンツ(画像やテキストなど)が格納されたコンテンツDB16と、Htmlファイルの雛形となるテンプレートファイルが格納されたテンプレートDB17とから必要な情報を取得してページを生成してこれを応答として返す機能を有するものである。従来、当該動的Webサーバ14は、DMZ191上に置かれ、インターネット20を介して送られてくるクライアントからの要求に応じて上記処理を行うものであるが、本実施例のシステムではこれを内部ネットワーク192上に設けている。そして、動的/静的変換処理装置15によって、動的Webサーバ14から得られるページに基づいて自動的に静的Webサイト構成を生成させ、これをDMZ191上のWWWサーバ11にアップロードすることで、静的WebサイトをWWWサーバ11に構成するものである。
図2に示されるように、本実施例の動的/静的変換処理装置15は、装置全体の制御や各種の演算処理などを行う制御部151と、記憶部152と、ネットワーク(内部ネットワーク192)への情報の送受信を行う通信部153と、ユーザインターフェースとなる入力部(キーボードやマウスなど)154や表示部(モニタなど)155などを備える。動的/静的変換処理装置15は下記で説明する処理をするための専用の装置であっても良いが、汎用の情報処理装置(PC18など)に下記で説明する処理を実行させるプログラムをインストールすることで構成しても良い。また、動的Webサーバ14自体に動的/静的変換処理装置15の機能を持たせるようにしても良い。
図3〜図10は、動的/静的変換処理装置15で実行される処理の概略を示すフローチャートである。以下各フローチャートを参照しつつ処理動作の説明をする。なお、以下の説明では処理主体を省略して説明する場合があるが、基本的には、入力部154に対するユーザからの入力や記憶部152や通信部153を介して得られた情報などを参照しつつ制御部151によって処理を行い、その結果に基づいて表示部155への表示処理を行ったり、結果情報を記憶部151に保存若しくは通信部153を介して送信などすることによって処理が進められていくものである。
図3は、メイン処理の概略を示したフローチャートである。なお、フローチャートの右に記載したものは、各処理内容の把握を容易にすることを目的に、処理対象や処理結果などの情報の簡単な例を示したものである。これは、図13に示されるような簡単なWebサイトが動的Webサーバ14において構築されているものとして、これに基づいた簡単な例である。当該例は、http://localhost1/kanko/index.htmlというトップページに1つの画像があり、当該画像にリンクが張られているものである。当該リンクはパラメタ付きリンクであり、よって、リンク先のページは動的ページである。
ステップ301では、ユーザからの入力によって、出力対象(静的Webサイトを生成するための変換元)となるサイトのトップページアドレスを得る。例えば“http://localhost1/kanko/index.html”というようなものであり、“localhost1”は動的Webサーバ14を指すものである。本実施例では動的Webサーバ14が内部ネットワークにあるためローカルなアドレスとなるが、動的Webサーバが公開ネットワーク上にある場合にはURLとなる。
続くステップ302では、同じくユーザからの入力によって、Htmlファイル(動的/静的変換処理装置15によって生成される静的Webページ)を格納するローカルディレクトリを得る。例えば“C:\output”といったようなものであり、この例では動的/静的変換処理装置15に備えられる記憶部152(Cドライブ)が指定されるものとなるが、外部の記憶装置を指定するものであっても勿論構わない。また、Htmlファイルを格納するローカルディレクトリは、予め設定されたフォルダ(デフォルト)とするものであっても構わない。なお、当該取得したローカルディレクトリ(例えば“C:\output”)は以降の処理で必要になるため、これを一時的に記憶しておく。
ステップ303では、ステップ301で取得したトップページアドレスのパス構成と同様のフォルダ階層を、ステップ302で取得したディレクトリ内に作成する処理を行う。例えば、指定されたページアドレス“http://localhost1/kanko/index.html”と、指定されたディレクトリ“C:\output”とに基づき、記憶部152に“C:\output\localhost1\kanko”というフォルダ階層を作成するものである(指定されたページアドレスからプロトコル部を除いたパス構造と同様のフォルダ階層をステップ302で取得したディレクトリ内に作成する)。例では、図15の“\kanko”までのフォルダ階層がCドライブ内に作られることとなる。
続くステップ304では、ステップ301で取得したトップページアドレスを引数として「HTMLファイル名生成処理」を実行する。図4は、「HTMLファイル名生成処理」の処理動作の概略を示したフローチャートである。
ステップ401では、引数として得たページアドレスがパラメタ付アドレスであるか否かを、パラメタ区切り記号である「?」があるか否かによって判別する。ここでの例では、引数が“http://localhost1/kanko/index.html”であるため、ステップ401の判別はNoとなり、ステップ408へと移行する。
ステップ408では、ページアドレスからファイル名を取得し、当該ファイルの拡張子を「.html」に変換したファイル名を戻り値として設定して、「HTMLファイル名生成処理」を終了する。ここでの例では、引数が“http://localhost1/kanko/index.html”であるため、これから取得されるファイル名は“index.html”であり、これがそのまま戻り値とされることとなる。なお、「HTMLファイル名生成処理」において、引数がパラメタ付アドレスであった場合の処理(ステップ402〜407)については、後に説明する。
図3に戻って説明を続ける。
ステップ304の処理(図4の処理)によって、戻り値(例では“index.html”)が得られ、続くステップ305において、ステップ301で取得したトップページアドレスと、ステップ304の戻り値とを対応付けてアクセスアドレスリストに格納する処理を行う。図11はアクセスアドレスリストの状態例を示す図である。ステップ304の処理により、“http://localhost1/kanko/index.html”と“index.html”が1レコードとしてアクセスアドレスリストに追加され図11(a)の状態となる。アクセスアドレスリストは処理待ちキューであり、未処理のデータがレコードとして追加されていき、処理が終了した終了したレコードは削除されていくものである。
続くステップ306では、「HTMLファイル変換処理」を実行する。図5は、「HTMLファイル変換処理」の処理動作の概略を示したフローチャートである。
ステップ501では、アクセスアドレスリスト(図11(a))の先頭から、1レコード(変換対象アドレスと変換HTMLファイル名)を取得する。ここの例では、“http://localhost1/kanko/index.html”と“index.html”のレコードとなる。
ステップ502では、ステップ501で取得した変換対象アドレス(例では、“http://localhost1/kanko/index.html”)にアクセスして、HTMLファイルを取得する処理を行う。即ち、動的Webサーバ14に対してページ(HTMLファイル)取得のリクエストを行って、ページを取得するものである。
続くステップ503では、ステップ502の処理によって得られる動的Webサーバ14からの応答に含まれるHTTPヘッダを引数として「HTTPステータスコード処理」を実行する。図6は、「HTTPステータスコード処理」の処理動作の概略を示したフローチャートである。
ステップ601では、戻り値に正常を示す情報を設定する。続くステップ602では、引数であるHTTPヘッダのステータスコードが200番台であるか否か(正常にページを取得できたか否か)を判別し、200番台であった場合には「HTTPステータスコード処理」を終了する。一方、200番台で無かった場合には、ステップ603へと移行して戻り値にステータスコードを設定して「HTTPステータスコード処理」を終了する。
図5に戻って説明を続ける。
ステップ503(図6)の処理によって、戻り値として、ページ取得が正常ある旨の情報またはエラーを示すステータスコードが得られ、続くステップ504ではこれが正常であったかどうかを判別する。判別の結果、正常であった場合にはステップ505〜ステップ507のループ処理へ移行し、エラーを示すステータスコードであった場合には、ステップ505〜ステップ509をスキップしてステップ510へと移行する。ステップ505〜ステップ509は、動的Webサーバ14から取得したページを静的Webページに変換するための処理などであるが、動的Webサーバ14からのページ取得にエラーがあった場合にはこれらの処理をスキップするものである。
ステップ504に続く(ページ取得が正常の場合)ループ処理は、ステップ502で取得したページのHTMLファイル内容に対し、ステップ505〜ステップ507の処理を繰り返すものである。即ち、ページのソースとなるテキストファイルの全ての行に対し、1行ずつステップ505〜ステップ507の処理を繰り返すものである。
ステップ505では、HTMLファイル内容からそのテキストを1行読み込み、続くステップ506において当該取得した文字列を引数として「HTMLファイル解析処理」が実行される。図7は、「HTMLファイル解析処理」の処理動作の概略を示したフローチャートである。
ステップ701では、引数として得られる「HTMLファイル内容文字列」の先頭から検索を行い、“imgタグ”か“aタグ”があるかを検出する。また、文字列(HTMLファイル内容文字列)の最後まで検索が終わったか否かを判別する。
ステップ701の処理により、imgタグが検出された場合にはステップ702へと移行し、同imgタグ内のsrcパラメタを取得してこれを引数として「ファイル格納処理」を実行する。例では、“../image/logo.jpg”が引数となる(なお、例ではimgタグよりaタグの方が前にあるので、実際にはステップ704の方が先に処理される)。図8は、「ファイル格納処理」の処理動作の概略を示したフローチャートである。「ファイル格納処理」はリソースファイルを動的Webサーバ14から取得してローカルに保存するための処理である。
ステップ801では、引数として得られるアドレス(例では“../image/logo.jpg”)が絶対アドレスであるか否かを判別する。絶対アドレスであった場合には、「ファイル格納処理」を終了する(ローカルにダウンロードする処理を行わない)。
引数が相対アドレスであった場合には、ステップ802へと移行し、アクセスアドレスリスト(図11(a))の先頭の変換対象アドレスと、引数であるリソースファイルアドレス(相対)を基に、リソースファイルアドレス(絶対)を生成する。例では、変換対象アドレス:“http://localhost1/kanko/index.html”と“../image/logo.jpg”に基づき“http://localhost1/image/logo.jpg”が生成されるものである。
続くステップ803では、ステップ802で生成したリソースファイルアドレス(絶対)がダウンロード済みリストにあるか否かを判別し、これがあった場合には「ファイル格納処理」を終了し、無かった場合にはステップ804へと移行する。ダウンロード済みリストには、既にローカルにダウンロード済み(若しくは試行済み)のものが格納されているものであり、重複した処理を避けるためのものである。
ステップ804では、リソースファイルアドレス(相対)を引数(「ファイル格納処理」に引数として与えられたのと同一)として「出力ローカルディレクトリファイルパス生成処理」を実行する。図9は、「出力ローカルディレクトリファイルパス生成処理」の処理動作の概略を示したフローチャートである。
ステップ901では、引数として得られるアドレス(例では“../image/logo.jpg”)が絶対アドレスであるか否かを判別する。相対アドレスであった場合には、ステップ902へと移行して、戻り値である「出力ローカルディレクトリファイルパス」に、アクセスアドレスリスト(図11(a))の先頭の変換対象アドレスと、引数を基に、絶対アドレスを作成し、プロトコル部を除いたものを設定する処理を行う。例では、“../image/logo.jpg”(引数)と“http://localhost1/kanko/index.html”(アクセスアドレスリストの最初のレコードの変換対象アドレス)とから“/localhost1/image/logo.jpg”が生成されることとなる。一方、ステップ901の判別の結果、絶対アドレスであった場合にはステップ907へと移行して、戻値(出力ローカルディレクトリファイルパス)に、引数(絶対アドレス)からプロトコル部を除いたものを設定するものであるが、「ファイル格納処理(図8)」からこの「出力ローカルディレクトリファイルパス生成処理(図9)」が呼び出された場合には、引数は必ず相対アドレスであるため、ここではステップ907へ移行することはない。
続くステップ903では、戻り値である「出力ローカルディレクトリファイルパス」に含まれるパス区切り文字を“/”から“¥”(システムディレクトリ区切り文字)へ変換する処理を行う。例では、“/localhost1/image/logo.jpg”が“\localhost1\image\logo.jpg”に変換されることとなる。
ステップ904では、戻り値である「出力ローカルディレクトリファイルパス」の先頭にローカルディレクトリ(図3のステップ302で一時記憶していたもの)を付加する。例では、“\localhost1\image\logo.jpg”と“C:\output”(図3のステップ302でユーザから入力されたディレクトリ)とから、“C:\output\localhost1\image\logo.jpg”が作成され、これが戻り値となる。
ステップ905では、ローカルディレクトリ(図3のステップ302で一時記憶していたもの)内に、戻り値である「出力ローカルディレクトリファイルパス」と同一構造のフォルダがあるか否かを判別する。これがあった場合には、「出力ローカルディレクトリファイルパス生成処理」を終了し、無かった場合にはステップ906へと移行して、ローカルディレクトリ内に「出力ローカルディレクトリファイルパス」と同一構造となるようにフォルダを作成する。例では、“C:\output”内に、“C:\output\localhost1\image\logo.jpg”と同様の構造のフォルダがあるか否かを判別し、これが無かった場合にフォルダの作成が行われるものであり、図15の\imageのフォルダが作成されることとなる。
図8に戻って説明を続ける。
ステップ804(図9)の処理によって、戻り値として「出力ローカルディレクトリファイルパス」(例では“C:\output\localhost1\image\logo.jpg”)が得られる。続くステップ805では、この戻り値を用いて、ステップ802で生成したリソースファイルアドレス(絶対)にアクセスして取得したファイルをローカルフォルダにダウンロードする。即ち、動的Webサーバ14にアクセスしてリソースファイルをダウンロードするものである。例では、“http://localhost1/image/logo.jpg”にアクセスして得られたファイル(logo.jpg)を、“C:\output\localhost1\image\logo.jpg”として格納するものである(図15参照)。
ステップ806では、ステップ802で生成したリソースファイルアドレス(絶対)をダウンロード済みリストに追加する処理が行われる。図12(a)にダウンロード済みリストの状態例を示した。当該リストとステップ803の処理により、同一のアドレスから同一のファイルをダウンロードすることはない。
ステップ807では、ステップ805〜806の処理においてエラーが生じたか否かを判断し、これがあった場合には、ステップ808へ移行して処理失敗リソースリストにリソースファイルアドレス(絶対)を格納する処理を実行し、エラーが無かった場合には、「ファイル格納処理」を終了する。ステップ805〜806におけるエラーとは、動的Webサーバ14との間で通信エラーがあったことなどにより、ファイルを取得できなかった場合や、取得したファイルをローカルに保存する際に、ローカルの領域不足があった場合などである。
図7に戻って説明を続ける。
ステップ702(図8)の処理により、引数である「HTMLファイル内容文字列」に含まれていたimgタグに基づくリソースファイルが、ローカルにダウンロードされる(絶対パスの場合はDLされない)。続くステップ703では、引数である「HTMLファイル内容文字列」のimgタグまでの内容(文字列)を、「変換後HTMLファイル内容文字列」に追加し、「HTMLファイル内容文字列」からは削除する。即ち、「HTMLファイル内容文字列」の中の文字列のうち、imgタグまでの文字列(imgタグ含む)が切り取られて、「変換後HTMLファイル内容文字列」に写されることとなる。ステップ703の処理が終わると、ステップ701へと戻って処理を繰り返す。
ステップ701の処理により、aタグが検出された場合にはステップ704へと移行し、同aタグ内のhrefパラメタを取得してこれを引数として「aタグ処理」を実行する。ここでの例では、“./search/list.jsp?page=1”(パラメタ付アドレス)が引数となる。図10は、「aタグ処理」の処理動作の概略を示したフローチャートである。「aタグ処理」はリンクアドレス(hrefパラメタ)がパラメタ付アドレスであった場合に、これをパラメタ区切り記号を含まない形式に変換する処理である。
ステップ1001では、戻り値である「変換後リンクアドレス」に、引数(リンクアドレス)を設定する。続くステップ1002では、引数として得られるアドレス(例では“./search/list.jsp?page=1”)が絶対アドレスであるか否かを判別し、絶対アドレスであった場合には、「aタグ処理」を終了する。
引数が相対アドレスであった場合には、ステップ1003へと移行して、引数で示されるファイルがリソースファイルであるか否かをファイル拡張子に基づいて判別する。例えば、ファイル拡張子が「.jpg」や「.gif」、「.png」、「.pdf」などである場合にリソースファイルと判断する。ステップ1003でリソースファイルと判断された場合には、ステップ1009へと移行して、リンクアドレス(引数として「aタグ処理」に渡されたもの)を引数として「ファイル格納処理(図8)」を実行する。「ファイル格納処理(図8)」の処理動作は前述した通りであり、ローカルにリソースファイルがダウンロードされる。
ステップ1003でページファイルと判断された場合には、ステップ1004へと移行し、リンクアドレス(引数として「aタグ処理」に渡されたもの)を引数として「HTMLファイル名作成処理(図4)」を実行する。当該引数に基づく「HTMLファイル名作成処理」の処理動作を図4に基づいて説明する。「HTMLファイル名作成処理」は、アドレスのファイル名部分がパラメタを含む形式である場合には、これをパラメタ区切り記号を含まない形式に変換した上で、ファイルの拡張子を「.html」に変換するものである。
ステップ401では、引数として得たページアドレスがパラメタ付アドレスであるか否かを、パラメタ区切り記号である「?」があるか否かによって判別する。ここでの例では、引数が“./search/list.jsp?page=1”であるため、ステップ401の判別は真となり、ステップ402へと移行する。なお、パラメタ付きアドレスでなかった場合の処理は、先に説明した通りである。
ステップ402では、引数として得たページアドレスからファイル名を取得し、区切り文字“?”で分けて、拡張子を除いたファイル名を抽出する。例では、ページアドレスからファイル名を取得=“list.jsp?page=1”、区切り文字“?”で分けて=“list.jsp”、拡張子を除いたファイル名を抽出する=“list”となる。
続くステップ403では、引数として得たページアドレスの区切り文字“?”から後ろを抽出することでパラメタを抽出し、これを区切り文字“&”で分けて、パラメタのリストを生成する。例では、ページアドレスの区切り文字“?”から後ろを抽出することでパラメタを抽出=“page=1”となり、これでパラメタリスト生成される。なお、パラメタが複数ある場合、即ち、aaa=s&bbb=t&ccc=uといったパラメタがページアドレスの区切り文字“?”の後に付いていた場合には、「aaa=s」と「bbb=t」、「ccc=u」によってパラメタリストが生成されることとなる。
ステップ404では、ステップ402で抽出したファイル名を、戻り値である「変換HTMLファイル名」に設定する。例では、「変換HTMLファイル名」に“list”が設定される。
ステップ404に続くループ処理は、ステップ403で生成したパラメタリスト内の全てのパラメタに対してステップ405〜406の処理を繰り返すものである。
ステップ405では、パラメタから、区切り文字“=”で分けてパラメタ名とパラメタ値を抽出する。例では、パラメタ“page=1”から、パラメタ名“page”とパラメタ値“1”が抽出される。
ステップ406では、戻り値である「変換HTMLファイル名」の末尾に、「“_”
+ パラメタ名 + “_” + パラメタ値」の形式でパラメタ名とパラメタ値を追加する。例では、「変換HTMLファイル名」が“list”で、パラメタ名は“page”、パラメタ値は“1”であるから、“list_page_1”が新たな「変換HTMLファイル名」となる。なお、例ではパラメタが1つであるので、これでループ処理を終了するが、前述のような「aaa=s」、「bbb=t」、「ccc=u」というパラメタがリストにあった場合は、ステップ405〜406の処理が繰り返されて、“list_ aaa_s_bbb_t_ccc_u”となる。
+ パラメタ名 + “_” + パラメタ値」の形式でパラメタ名とパラメタ値を追加する。例では、「変換HTMLファイル名」が“list”で、パラメタ名は“page”、パラメタ値は“1”であるから、“list_page_1”が新たな「変換HTMLファイル名」となる。なお、例ではパラメタが1つであるので、これでループ処理を終了するが、前述のような「aaa=s」、「bbb=t」、「ccc=u」というパラメタがリストにあった場合は、ステップ405〜406の処理が繰り返されて、“list_ aaa_s_bbb_t_ccc_u”となる。
ステップ407では、「変換HTMLファイル名」の末尾に、HTMLファイルの拡張子“.html”が追加され、これが戻り値とされる。例では、“list_page_1.html”となる。
図10に戻って説明を続ける。
ステップ1004(図4)の処理によって、「変換HTMLファイル名」(例では、“list_page_1.html”)が戻り値として得られる。続くステップ1005では、引数(リンクアドレス(相対))のファイル名を、「HTMLファイル名作成処理(図4)」の戻り値(変換HTMLファイル名)に変換したアドレスを、図10の処理の戻り値となる「変換後リンクアドレス」として設定する。例では、引数“./search/list.jsp?page=1”のファイル名(list.jsp?page=1)が、ステップ1004(図4)の戻り値である“list_page_1.html”によって変換された“./search/list_page_1.html”が「変換後リンクアドレス」として設定され、これが戻り値になる。
ステップ1006では、アクセスアドレスリスト(図11(a))の先頭の変換対象アドレスと引数(リンクアドレス(相対))を基に、リンクアドレス(絶対)を生成する。例では、“http://localhost1/kanko/index.html”と“./search/list.jsp?page=1”から、“http://localhost1/kanko/search/list.jsp?page=1”が生成される。
ステップ1007では、ステップ1006で生成したリンクアドレス(絶対)が、ダウンロード済みリストにあるか否かを判別する。これがあった場合には「aタグ処理」を終了し、無かった場合には、ステップ1008へと移行して、アクセスアドレスリストにステップ1006で生成したリンクアドレス(絶対)と、ステップ1004(図4)の戻り値である変換HTMLファイル名を対としたレコードを追加する。例では、図11(b)の状態となる。
図7に戻って説明を続ける。
ステップ704(図10)の処理によって、変換後リンクアドレスが戻り値として得られる(例では“./search/list_page_1.html”)。続くステップ705では、引数である「HTMLファイル内容文字列」のaタグまでの内容であって、aタグのアドレスを、「aタグ処理」の戻り値(変換後リンクアドレス)で書き換えたものを「変換後HTMLファイル内容文字列」に追加し、「HTMLファイル内容文字列」からはaタグまでの内容を削除する。例では、aタグ内のリンクアドレス“./search/list.jsp?page=1”が、“./search/list_page_1.html”に変換されて、「HTMLファイル内容文字列」の中の文字列のうち、aタグまでの文字列(aタグ(<a href=”./search/list_page_1.html ">)までを含む)が切り取られて、「変換後HTMLファイル内容文字列」に写されることとなる。なお、「aタグ処理」において、ステップ1002〜ステップ1007の処理ルート以外の処理では、「aタグ処理」の戻り値は引数(リンクアドレス)として渡したものがそのまま返ってくることとなる。この場合は、aタグ内のリンクアドレスの変換は行われず、そのまま、「HTMLファイル内容文字列」の中の文字列のうち、aタグまでの文字列(aタグ含む)が切り取られて、「変換後HTMLファイル内容文字列」に写されることとなる。
ステップ705の処理が終わると、ステップ701へと戻って処理を繰り返す。
ステップ701の処理により、「HTMLファイル内容文字列」からimgタグもaタグも検出されなかった場合(文字列の最後まで検索が終わった場合)にはステップ706へと移行する。ステップ706では、「HTMLファイル内容文字列」の内容を「変換後HTMLファイル内容文字列」に追加してこれを戻り値とし、「HTMLファイル解析処理」を終了する。この「HTMLファイル解析処理」により、「HTMLファイル内容文字列」内に、リソースファイルへのリンクがあった場合には、当該リソースファイルのローカルへのダウンロードが行われ、また、「HTMLファイル内容文字列」内に、他のページへのリンクがあった場合には、これがパラメタ付のアドレスであるか否かを判別してパラメタ区切り記号を含まない形式に変換する処理が行われる。また、ページへのリンクがあった場合、当該ページが処理済みのページでない場合には、これが処理待ちキューであるアクセスアドレスリストに追加される。戻り値である「変換後HTMLファイル内容文字列」は、引数である「HTMLファイル内容文字列」の中の、パラメタ付のアドレスの部分だけがパラメタタ区切り記号を含まない形式に変換されたものとなる。
図5に戻って説明を続ける。
ステップ506(図7)の処理により、戻り値として「変換後HTMLファイル内容文字列」が得られる。続くステップ507では、当該戻り値(文字列)を「出力HTMLファイル内容」に追加する。
ステップ505〜507のループ処理によって、ステップ502で取得したページのHTMLファイルに対し、ページのソースであるテキストファイルの全ての行に対して上述した処理が実行さる。これにより、「出力HTMLファイル内容」として、ステップ502で取得したソースファイルのうち、パラメタ付のアドレスの部分だけがパラメタタ区切り記号を含まない形式に変換されたソースファイルが得られることとなる。
ステップ505〜507のループ処理を、例に基づいて再度説明すると、図13の“http://localhost1/kanko/index.html”が「HTMLファイル内容」であり、同ファイルの前半部分の「・・・」(記載省略部分)について、ステップ505の処理によって1行ずつ文字列が読み込まれてステップ506(図7)の処理に渡される。「・・・」(記載省略部分)についてはaタグもimgタグもないので、図7ではステップ701→ステップ706の処理となり、引数がそのまま戻り値となる。ステップ507によって図7の戻り値(=引数)が「出力HTMLファイル内容」に追加されるため、ここまでの処理で図14(a)の状態となる。
次に、ステップ505によって「<A HREF="./search/list.jsp?page=1"><IMG
SRC="../image/logo.jpg" ></A><BR>」が読み込まれて、図7の処理が実行された場合は、先ずステップ701→ステップ704〜ステップ705の処理によって、「<A HREF="./search/list_page_1.html">」が「変換後HTMLファイル内容文字列(戻値)」に追加され、「HTMLファイル内容文字列(引数)」からは「<A
HREF="./search/list.jsp?page=1">」が削除されて、「<IMG
SRC="../image/logo.jpg" ></A><BR>」となる。続いてステップ701→ステップ702〜ステップ703の処理により、logo.jpgがローカルにダウンロードされて、「<IMG SRC="../image/logo.jpg" >」が「変換後HTMLファイル内容文字列」に追加されて、「<A
HREF="./search/list_page_1.html"><IMG
SRC="../image/logo.jpg" >」となり、「HTMLファイル内容文字列」からはこれが削除されて、「</A><BR>」となる。続いてステップ701→ステップ706の処理により、「</A><BR>」が「変換後HTMLファイル内容文字列」に追加されて、「<A HREF="./search/list_page_1.html"><IMG
SRC="../image/logo.jpg" ></A><BR>」となり、これが戻り値となる。ステップ507によってこの戻り値が「出力HTMLファイル内容」に追加されるため、ここまでの処理で図14(b)の状態となる。
SRC="../image/logo.jpg" ></A><BR>」が読み込まれて、図7の処理が実行された場合は、先ずステップ701→ステップ704〜ステップ705の処理によって、「<A HREF="./search/list_page_1.html">」が「変換後HTMLファイル内容文字列(戻値)」に追加され、「HTMLファイル内容文字列(引数)」からは「<A
HREF="./search/list.jsp?page=1">」が削除されて、「<IMG
SRC="../image/logo.jpg" ></A><BR>」となる。続いてステップ701→ステップ702〜ステップ703の処理により、logo.jpgがローカルにダウンロードされて、「<IMG SRC="../image/logo.jpg" >」が「変換後HTMLファイル内容文字列」に追加されて、「<A
HREF="./search/list_page_1.html"><IMG
SRC="../image/logo.jpg" >」となり、「HTMLファイル内容文字列」からはこれが削除されて、「</A><BR>」となる。続いてステップ701→ステップ706の処理により、「</A><BR>」が「変換後HTMLファイル内容文字列」に追加されて、「<A HREF="./search/list_page_1.html"><IMG
SRC="../image/logo.jpg" ></A><BR>」となり、これが戻り値となる。ステップ507によってこの戻り値が「出力HTMLファイル内容」に追加されるため、ここまでの処理で図14(b)の状態となる。
前述の「ファイルの前半部分の「・・・」(記載省略部分)」に関する処理と同様に、「HTMLファイル内容」の後半部分の「・・・」(記載省略部分)に対する処理が行われると、「出力HTMLファイル内容」は図14(c)の状態となり、これにより、ステップ505〜507のループ処理が終了する。
続くステップ508では、アクセスアドレスリスト(図11(a))の先頭レコードの変換対象アドレスのファイル名を、同レコードの変換HTMLファイル名で置換したものを引数として、「出力ローカルディレクトリファイルパス生成処理(図9)」を実行させる。例えば、図11(c)の場合には、“http://localhost1/kanko/search/list_page_1.html”が生成されて引数となる。
図5のステップ508から図9の処理が呼び出された場合には、引数が絶対アドレスであるため、図9のステップ901の判断は真となり、ステップ907へと移行する。ステップ907では、戻り値(出力ローカルディレクトリファイルパス)に、引数(絶対アドレス)からプロトコル部を除いたものが設定される。“http://localhost1/kanko/index.html”が引数である場合には、“/localhost1/kanko/index.html”となる。続くステップ903以降の処理は先に説明した通りである。
図5に戻って説明を続ける。
ステップ508(図9)の処理によって、戻り値として「出力ローカルディレクトリファイルパス」が得られる(例では“C:\output\localhost1\kanko\index.html”)。続くステップ509では、当該戻り値に基づく領域に、ステップ505〜507のループ処理によって得られた「出力HTMLファイル内容」をファイル出力する。例では、ステップ502で動的Webサーバ14から取得した“index.html”のファイルが、ステップ505〜507のループ処理によって図14(c)で示されるような「出力HTMLファイル内容」に変換されて、ローカルディレクトリ“C:\output\localhost1\kanko\”にファイル名“index.html”で格納される(図15参照)。
ステップ510では、アクセスアドレスリスト(図11(a))の先頭レコードの変換対象アドレスを、ダウンロード済みリストに追加する。図12(b)が状態例を示す図となる。なお、ステップ504の判別により、通信エラー等が起っていた場合においても、このステップ510の処理を実行する。ダウンロード済みリストは、現実にダウンロードが成功したか否かに関わらず、処理済み(試行済み)のもの全てを格納するものとなる。
ステップ511では、エラーが生じたか否かを判断し、これがあった場合には、ステップ512へ移行して処理失敗HTMLリストに変換対象アドレス(アクセスアドレスリストの先頭レコード)を格納する処理を実行し、エラーが無かった場合にはステップ512をスキップする。エラーとは、動的Webサーバ14との間で通信エラーがあったことなどにより、ファイルを取得できなかった場合や、取得したファイルをローカルに保存する際に、ローカルの領域不足があった場合などである。図6のステップ603の処理により、結果コードとしてステータスコードが得られるため、これを変換対象アドレスと対応付けて処理失敗HTMLリストに格納するものであってもよい。
ステップ513では、処理待ちキューであるアクセスアドレスリストから先頭レコードを削除する処理を行う。図11(c)が状態例を示す図となる。
ステップ514では、処理待ちキューであるアクセスアドレスリストにレコードがあるか否かを判別し、処理待ちのレコードがあれば、ステップ501へ戻って処理を繰り返し、無ければ「HTMLファイル変換処理」を終了する。例(図11(c))では、“http://localhost1/kanko/search/list.jsp?page=1”に基づいて、ステップ501へ戻って上記処理が繰り返されることにより、動的Webサーバ14から上記アドレスで示される動的Webページが取得され、これが“list_page_1.html”というファイル名で“C:\output\localhost1\kanko\search\”に格納されることとなる(図15参照)。
当該「HTMLファイル変換処理」により、あるページを基点にして、そこから順次相対パスでリンクされている全てのページに対して、ページ内のパラメタ付きリンクの変換処理(絶対パスは除く)が行われ、且つ、当該リンクの変換の後もリンクが維持されるように、リンク先のファイル(動的Webページ)を動的Webサーバから取得してこれを静的Webページとしてローカルに保存する処理が行われる。また、必要なリソースファイルのローカルへのダウンロード処理もあわせて行われる。即ち、ローカルには静的Webサイトの構成が構築されることとなる。
図3に戻って説明を続ける。
ステップ306(図5)の処理により、動的Webサーバ14から得られるページに基づく静的Webサイト構成が自動的にローカルに構築する処理が終了する。
続くステップ307では、上記静的Webサイト構成の自動構築処理の処理結果を、表示部155に表示させる処理を行う。処理結果としては、画像ファイル変換処理失敗件数やHTMLファイル変換処理失敗件数などを表示する。画像ファイル変換処理失敗件数は、図8のステップ808の処理による処理失敗リソースリストの件数に基づいて算出し、HTMLファイル変換処理失敗件は、図5のステップ512の処理による処理失敗HTMLリストの件数に基づいて算出する。処理失敗HTMLリストに、HTTPヘッダのステータスコードが対応付けるようにしていれば、静的Webサイト構成の自動生成のみならず、動的Webサイト14の評価に用いることもできる。
ユーザは、画面表示された処理結果などに基づいて、動的/静的変換処理装置15によってローカル上に構築された静的Webサイト構成に対して、必要に応じて手動で修正などを行う。各ページに問題が無いことが確認されたら、これをftpなどによってWWWサーバ11にアップロードすることで、容易に静的Webサイトを構築することできる。なお、図3の処理によって、ステップ306の処理の終了後自動的にWWWサーバ11にアップロードさせるものであっても構わない。
以上のごとく、本実施例のシステム若しくは静的Webサイト構築方法によれば、静的Webサイトでありながら、Webサイトの管理自体は動的Webサイトの管理とほぼ同様の作業で済むため、情報量が多量になっても更新などの作業性に優れる。従来、動的Webサーバ14はDMZ191上に置かれ、インターネット20を介して送られてくるクライアントからの要求に応じて処理を行うものであるが、要求中に含まれるパラメタを意図的にいじることでSQLインジェクションを生じさせる者がおり、セキュリティ上の問題が生じるものであった。これに対し、本実施例のシステムによれば、サイトの管理自体は動的Webサイトと同等の作業量でありながら、動的Webサーバ14は内部ネットワーク192上にあるため、SQLインジェクション等のセキュリティ上の問題も生じない。また、WWWサーバ11上に構築されるサイトは静的Webサイトであるので、レスポンス性に優れ、検索エンジンに掛かり易いという利点を有する。
なお、動的Webサーバ14が公開ネットワーク上に置かれているものであっても構わない。この場合、動的Webサーバ14については上述したようなセキュリティ向上の効果は得られないが、本発明によって構築される静的Webサイトをバックアップ的な位置づけで使うこと等ができるので、サイトの稼働率や信頼性を高めることが容易且つ安価にできる。本発明によって構築される静的Webサイトの動作においては、動的Webサーバと静的Webサイトとは切り離されているため、動的Webサーバに不具合が生じても静的Webサイトの動作に影響は無い。即ち、例えばSQLインジェクションなどの攻撃によって動的サイトに不具合が生じたとしても、静的Webサイトの方で稼動状態を維持させるような運用をすることが可能になるものである。また、安価に擬似的なミラーサイトを構築する方法としても利用できる。
また、本実施例のシステム構成を用いることで、顧客に対して静的Webサイトを構築するサービスを提供することができる。例えば、WWWサーバを備えるシステムを持っているものの静的なWeb環境しか持っていないような顧客に対して(図1の、インターネット20を介した先に顧客システム30があるとする)、その顧客用のサイトを動的サイトとしてシステム10内に構築し(その顧客サイトのためのコンテンツDBやテンプレートDBを作成し)、これから本発明によって得られる静的Webサイト構成を、顧客システム30内の情報処理装置に送信する(若しくは直接顧客のWWWサーバにアップする)ことで、顧客に対して静的Webサイトを構築するサービスを提供するものである。顧客に、インターネット20を介して、システム10内のその顧客用のコンテンツDBやテンプレートDBの更新などを行わせることで、顧客としては、静的なWeb環境しか持っていないにも関わらずあたかも動的Web環境があるような運用をすることができる。当該サービスの提供をする場合には、複数の顧客にサービスを提供するため、各顧客に識別情報を付与し、当該識別情報と各コンテンツDB若しくは各テンプレートDBの対応付けをして、当該対応付け情報をシステムで保持することにより、各顧客に対応するコンテンツDB若しくはテンプレートDBを判別可能とした上で、当該識別情報を用いたシステム10へのログインを許可してそれぞれの識別情報に対応するコンテンツDB若しくはテンプレートDBに対する操作(更新処理など)を許すようにする。従来よく知られた手法により、各識別情報にパスワードを対応付けてシステムへのログインにはパスワードを要するようにしたり、ログイン中の操作履歴を各顧客(識別情報)ごとにログとして残すようにする等してもよい。
なお、本実施例では、パラメタ区切り記号を含むリンクアドレスをパラメタ区切り記号を含まない形式に変換する処理において、各パラメタを使用して新しいファイル名を生成するもの(図4の処理)を例としているが、本発明をこれに限るものではなく、変換前のファイル名とは全く関係のない新たなファイル名を生成させるようなものであっても構わない(動作に影響は無い)。
11 WWWサーバ(静的Webサーバ)
14 動的Webサーバ
15 動的/静的変換処理装置
16 コンテンツDB
17 テンプレートDB
20 インターネット
151 制御部
152 記憶部
153 通信部
191 DMZ(公開ネットワーク)
192 内部ネットワーク
14 動的Webサーバ
15 動的/静的変換処理装置
16 コンテンツDB
17 テンプレートDB
20 インターネット
151 制御部
152 記憶部
153 通信部
191 DMZ(公開ネットワーク)
192 内部ネットワーク
Claims (10)
- Htmlファイルを構成するための部品となる各種コンテンツが格納されたコンテンツDBと、Htmlファイルの雛形となるテンプレートファイルが格納されたテンプレートDBと、前記コンテンツDBとテンプレートDBから必要な情報を取得して静的なWebページを自動生成する静的Webページ生成装置と、当該生成された静的Webページを一時的に記憶する記憶装置と、WWWサーバと、を備えることにより、前記静的Webページ生成装置によって静的Webページを生成させてこれを前記記憶装置に格納させ、当該記憶装置に格納された静的Webページを公開ネットワーク上にある前記WWWサーバにアップロードさせることによって、静的Webサイトを構築することを特徴とする静的Webサイト構築方法。
- 前記静的Webページ生成装置が、
前記コンテンツDBとテンプレートDBから必要な情報を取得して動的Webページを生成することが可能な動的Webサーバと、
当該動的Webサーバにアクセスしてページを取得し、当該取得したページに含まれるリンクアドレスを検出し、当該リンクアドレスがリソースファイルへのリンクであるか否かを判別し、リソースファイルでなかった場合に、当該リンクアドレスがパラメタ区切り記号を含むものであればこれをパラメタ区切り記号を含まない形式に変換した上で、ファイルの拡張子を「.html」若しくは「.htm」に変換し、当該変換したリンクアドレスによって前記取得したページに含まれるリンクアドレスを更新し、変換前のリンクアドレスに基づいて前記動的Webサーバからページを取得してこれを前記変換後のリンクアドレスに対応するアドレスとファイル名により静的Webページとして前記記憶装置に記憶させることで相互のリンクを維持させる処理を、繰り返し実行する動的/静的変換処理装置と、
によって構成され、これにより前記静的Webページを生成して前記記憶装置へ格納させることを特徴とする請求項1記載の静的Webサイト構築方法。 - 前記動的/静的変換処理装置による前記動的Webサーバからのページ取得処理において、前記動的/静的変換処理装置からのリクエストに対する前記動的Webサーバからの応答のヘッダ情報にエラー情報が含まれていた場合には、当該ページのアドレスにエラー情報を対応付けて記憶することを特徴とする請求項2記載の静的Webサイト構築方法。
- Htmlファイルを構成するための部品となる各種コンテンツが格納されたコンテンツDBと、Htmlファイルの雛形となるテンプレートファイルが格納されたテンプレートDBと、前記コンテンツDBとテンプレートDBから必要な情報を取得して静的なWebページを自動生成する静的Webページ生成装置と、当該生成された静的Webページを一時的に記憶する記憶装置と、を備えるシステムを有することにより、当該システムとネットワークを介して接続される顧客システム内の情報処理装置に、前記静的Webページ生成装置によって前記記憶装置に蓄積されている静的Webページをアップロードさせることで、顧客に対して静的Webサイトの構築サービスを提供することを特徴とする静的Webサイト構築サービス提供方法。
- 前記静的Webページ生成装置が、前記コンテンツDBとテンプレートDBから必要な情報を取得して動的Webページを生成することができる動的Webサーバと、当該動的Webサーバにアクセスしてページを取得し、当該取得したページに含まれるリンクアドレスを検出し、当該リンクアドレスがリソースファイルへのリンクであるか否かを判別し、リソースファイルでなかった場合に、当該リンクアドレスがパラメタ区切り記号を含むものであればこれをパラメタ区切り記号を含まない形式に変換した上で、ファイルの拡張子を「.html」若しくは「.htm」に変換し、当該変換したリンクアドレスによって前記取得したページに含まれるリンクアドレスを更新し、変換前のリンクアドレスに基づいて前記動的Webサーバからページを取得してこれを前記変換後のリンクアドレスに対応するアドレスとファイル名により静的Webページとして前記記憶装置に記憶させることで相互のリンクを維持させる処理を、繰り返し実行する動的/静的変換処理装置と、によって構成され、これにより前記静的Webページを生成して前記記憶装置へ格納させることを特徴とする請求項4記載の静的Webサイト構築サービス提供方法。
- 各顧客に識別情報を付与し、当該識別情報と前記各コンテンツDB若しくは前記各テンプレートDBの対応付けをすることにより、各顧客に対応する前記コンテンツDB若しくは前記テンプレートDBを判別可能とし、前記識別情報を用いた前記システムに対するログインがあった場合には、これに対応する前記コンテンツDB若しくは前記テンプレートDBに対する操作を許可することを特徴とする請求項4又は請求項5に記載の静的Webサイト構築サービス提供方法。
- 制御部と記憶部と通信部とを備えることにより、ネットワークを介して接続される動的Webサーバにアクセスしてページを取得し、前記制御部によって、当該取得したページに含まれるリンクアドレスを検出し、当該リンクアドレスがリソースファイルへのリンクであるか否かを判別し、リソースファイルでなかった場合に、当該リンクアドレスがパラメタ区切り記号を含むものであればこれをパラメタ区切り記号を含まない形式に変換した上で、ファイルの拡張子を「.html」若しくは「.htm」に変換し、当該変換したリンクアドレスによって前記取得したページに含まれるリンクアドレスを更新し、変換前のリンクアドレスに基づいて前記動的Webサーバからページを取得してこれを前記変換後のリンクアドレスに対応するアドレスとファイル名により静的Webページとして前記記憶部若しくは外部記憶装置に記憶させることで相互のリンクを維持させる処理を、繰り返し実行することで、前記記憶部若しくは外部記憶装置に静的Weサイト構成を格納させることを特徴とする動的/静的変換処理装置。
- 前記動的Webサーバからのページ取得処理において、前記動的Webサーバからの応答のヘッダ情報にエラー情報が含まれていた場合には、当該ページのアドレスにエラー情報を対応付けて前記記憶部若しくは外部記憶装置に記憶させることを特徴とする請求項7記載の動的/静的変換処理装置。
- 制御部と記憶部と通信部とを備える情報処理装置に、ネットワークを介して接続される動的Webサーバにアクセスしてページを取得するステップと、当該取得したページに含まれるリンクアドレスを検出して当該リンクアドレスがリソースファイルへのリンクであるか否かを判別するステップと、これがリソースファイルでなかった場合に、当該リンクアドレスがパラメタ区切り記号を含むものであればこれをパラメタ区切り記号を含まない形式に変換する処理を実行した上でファイルの拡張子を「.html」若しくは「.htm」に変換するステップと、当該変換したリンクアドレスによって前記取得したページに含まれるリンクアドレスを更新するステップと、変換前のリンクアドレスに基づいて前記動的Webサーバからページを取得してこれを前記変換後のリンクアドレスに対応するアドレスとファイル名により静的Webページとして前記記憶部若しくは外部記憶装置に記憶させるステップとを、繰り返し実行させることで、前記記憶部若しくは外部記憶装置に静的Weサイト構成を格納させることを特徴とする動的/静的変換処理プログラム。
- 前記動的Webサーバからのページ取得処理において、前記動的Webサーバからの応答のヘッダ情報にエラー情報が含まれているか否かを判別するステップと、これが含まれていた場合に当該ページのアドレスにエラー情報を対応付けて前記記憶部若しくは外部記憶装置に記憶させるステップと、を実行させることを特徴とする請求項9記載の動的/静的変換処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009014050A JP2010170453A (ja) | 2009-01-26 | 2009-01-26 | 静的Webサイト構築方法及び静的Webサイト構築サービス提供方法及び動的/静的変換処理装置及び動的/静的変換処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009014050A JP2010170453A (ja) | 2009-01-26 | 2009-01-26 | 静的Webサイト構築方法及び静的Webサイト構築サービス提供方法及び動的/静的変換処理装置及び動的/静的変換処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010170453A true JP2010170453A (ja) | 2010-08-05 |
Family
ID=42702535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009014050A Pending JP2010170453A (ja) | 2009-01-26 | 2009-01-26 | 静的Webサイト構築方法及び静的Webサイト構築サービス提供方法及び動的/静的変換処理装置及び動的/静的変換処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010170453A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491451A (zh) * | 2013-09-26 | 2014-01-01 | 深圳Tcl新技术有限公司 | 一种网页数据获取方法及装置 |
JP2014059699A (ja) * | 2012-09-18 | 2014-04-03 | Nomura Research Institute Ltd | デモアプリケーション生成システムおよびデモアプリケーション生成プログラム |
JP2015153430A (ja) * | 2015-02-27 | 2015-08-24 | 株式会社コンベックス | 営業支援システム |
CN107092589A (zh) * | 2012-09-18 | 2017-08-25 | 株式会社野村综合研究所 | Web服务器系统、画面控件显示方法以及演示应用生成方法 |
CN108388796A (zh) * | 2018-02-24 | 2018-08-10 | 深圳壹账通智能科技有限公司 | 动态域名验证方法、系统、计算机设备和存储介质 |
CN112818277A (zh) * | 2021-01-25 | 2021-05-18 | 京东方科技集团股份有限公司 | 一种网页生成方法、装置、存储介质及电子设备 |
CN117454881A (zh) * | 2023-12-19 | 2024-01-26 | 戎行技术有限公司 | 一种基于静态页面的网站动态标签解析方法 |
CN117910438A (zh) * | 2024-03-13 | 2024-04-19 | 江苏中威科技软件系统有限公司 | 一种动态版式文件dlf的生成装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003242017A (ja) * | 2002-02-15 | 2003-08-29 | Hitachi Ltd | 情報公開方法及び情報公開システム |
JP2004310206A (ja) * | 2003-04-02 | 2004-11-04 | Yasuo Nishizawa | 構造化html生成システムと動的静的ページ統一管理システム |
JP2005157555A (ja) * | 2003-11-21 | 2005-06-16 | Ec Japan Inc | ウェブページ変換装置 |
JP2007304644A (ja) * | 2006-05-08 | 2007-11-22 | Torus Co Ltd | 静的ウェブページ生成方法、プログラム、記録媒体及び静的ウェブページ生成管理システム |
-
2009
- 2009-01-26 JP JP2009014050A patent/JP2010170453A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003242017A (ja) * | 2002-02-15 | 2003-08-29 | Hitachi Ltd | 情報公開方法及び情報公開システム |
JP2004310206A (ja) * | 2003-04-02 | 2004-11-04 | Yasuo Nishizawa | 構造化html生成システムと動的静的ページ統一管理システム |
JP2005157555A (ja) * | 2003-11-21 | 2005-06-16 | Ec Japan Inc | ウェブページ変換装置 |
JP2007304644A (ja) * | 2006-05-08 | 2007-11-22 | Torus Co Ltd | 静的ウェブページ生成方法、プログラム、記録媒体及び静的ウェブページ生成管理システム |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014059699A (ja) * | 2012-09-18 | 2014-04-03 | Nomura Research Institute Ltd | デモアプリケーション生成システムおよびデモアプリケーション生成プログラム |
CN107092589A (zh) * | 2012-09-18 | 2017-08-25 | 株式会社野村综合研究所 | Web服务器系统、画面控件显示方法以及演示应用生成方法 |
CN113158651A (zh) * | 2012-09-18 | 2021-07-23 | 株式会社野村综合研究所 | Web服务器系统以及演示应用生成方法 |
CN103491451A (zh) * | 2013-09-26 | 2014-01-01 | 深圳Tcl新技术有限公司 | 一种网页数据获取方法及装置 |
CN103491451B (zh) * | 2013-09-26 | 2017-06-16 | 深圳Tcl新技术有限公司 | 一种网页数据获取方法及装置 |
JP2015153430A (ja) * | 2015-02-27 | 2015-08-24 | 株式会社コンベックス | 営業支援システム |
CN108388796A (zh) * | 2018-02-24 | 2018-08-10 | 深圳壹账通智能科技有限公司 | 动态域名验证方法、系统、计算机设备和存储介质 |
CN112818277A (zh) * | 2021-01-25 | 2021-05-18 | 京东方科技集团股份有限公司 | 一种网页生成方法、装置、存储介质及电子设备 |
CN117454881A (zh) * | 2023-12-19 | 2024-01-26 | 戎行技术有限公司 | 一种基于静态页面的网站动态标签解析方法 |
CN117454881B (zh) * | 2023-12-19 | 2024-03-08 | 戎行技术有限公司 | 一种基于静态页面的网站动态标签解析方法 |
CN117910438A (zh) * | 2024-03-13 | 2024-04-19 | 江苏中威科技软件系统有限公司 | 一种动态版式文件dlf的生成装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10108595B2 (en) | Method and system for automated analysis and transformation of web pages | |
JP4396242B2 (ja) | 文書リンク構造情報作成装置及び方法 | |
JP4351405B2 (ja) | トランスコーディングシステム及びアノテーション管理装置 | |
JP2010170453A (ja) | 静的Webサイト構築方法及び静的Webサイト構築サービス提供方法及び動的/静的変換処理装置及び動的/静的変換処理プログラム | |
US20120324422A1 (en) | Live browser tooling in an integrated development environment | |
US20130191814A1 (en) | Test scenario generation method, test scenario generation system, and test scenario generation program | |
KR20080053293A (ko) | 클라이언트 스크립트 웹 페이지에 대한 서버측 초기 콘텐츠렌더링 | |
JP4282312B2 (ja) | Webサーバ、Javaサーブレットの機能を有するWebサーバ、およびコンピュータプログラム | |
CN111858255A (zh) | 基于屏幕截图的用户行为采集方法及相关设备 | |
JP2003280974A (ja) | ウェブサーバ管理方法、プログラム及び記録媒体 | |
WO2023092580A1 (zh) | 页面显示方法、装置、存储介质及电子设备 | |
JP2006018795A (ja) | Web共有システム、Web共有方法、Web共有プログラム、中継サーバ、及びWWWブラウザ表示装置 | |
JP5267342B2 (ja) | マッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法 | |
JP4807411B2 (ja) | 別ドメインの情報を利用する方法、別ドメインの情報を利用するためのプログラム及び情報転送プログラム | |
JP2005327297A (ja) | 知識情報収集システムおよび知識情報収集方法 | |
JP2008299788A (ja) | ウェブサーバ装置、ウェブサーバプログラムおよびウェブサーバ装置の管理方法 | |
JP2006048144A (ja) | 自動巡回装置,クライアント端末および自動巡回方法 | |
JP4846031B2 (ja) | 動作検証システム | |
JP5851251B2 (ja) | 通信パケット保存装置 | |
US12001324B2 (en) | Operation pattern generation apparatus, operation pattern generation method and program | |
JP4903278B2 (ja) | 動作検証装置、動作検証方法および動作検証プログラム | |
JP5594199B2 (ja) | ファイルアップロードの代理方法、代理プログラム及び代理装置 | |
JP2003303197A (ja) | 知識情報収集システムおよび知識情報収集方法 | |
CN115905118A (zh) | 资源处理方法、装置和电子设备 | |
JP5948930B2 (ja) | 中継装置、方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130510 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130528 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131008 |