"ウェブページのネストしたフラグメントキャッシングを処理する方法であって、ウェブページのリクエストを受信したことに応答して、前記ウェブページの第1レベルのフラグメント情報を取得することと、引き続き前記第1レベルのフラグメント情報に基づいて、第1レベルのフラグメントのためのフラグメント解析プロセスを実行することであって、前記フラグメント解析プロセスは前記第1レベルのフラグメントの所定のネスティング情報に基づいて、前記第1レベルのフラグメントをレンダリングすることを含み、前記ネスティング情報は現在のフラグメントが他のフラグメントを含んでいるかどうかについての情報を含む、実行することと、前記フラグメント解析プロセスの結果を結合して、前記ウェブページの前記第1レベルのフラグメントの完全なコンテンツを生成することと、を含む、方法。前記ウェブページの第1レベルのフラグメント情報を取得することは、前記ウェブページのユニフォームリソースロケータURLを取得することと、前記ウェブページの前記URLに基づいて前記ウェブページのテンプレートを見つけることと、前記ウェブページの前記テンプレートの前記第1レベルのフラグメントに対応するフラグメント名およびフラグメントパラメータを取得することと、を含む、請求項1に記載の方法。引き続き前記第1レベルのフラグメント情報に基づいて、第1レベルのフラグメントのためのフラグメント解析プロセスを実行することは、引き続き前記第1レベルのフラグメントのフラグメント名およびフラグメントパラメータに基づいて前記第1レベルのフラグメントのHTMLコードおよびネスティング情報を取得することと、前記ネスティング情報に基づいて第1レベルのフラグメントが第2レベルのフラグメントを含んでいるかどうかを判断し、肯定の場合、再帰的に前記第2レベルのフラグメントをレンダリングすることとを含む、請求項1に記載の方法。引き続き前記第1レベルのフラグメントのHTMLコードおよびネスティング情報を取得することは、コンフィギュレーションサーバから前記第1レベルのフラグメントのキャッシング情報を検索することであって、前記キャッシング情報はフラグメントをキャッシュすべきかどうかについての情報を含む、検索することと、前記キャッシング情報に基づいて前記第1レベルのフラグメントをキャッシュすべきかどうかを判断し、その結果、肯定の場合は、前記第1レベルのフラグメントのフラグメント名およびフラグメントパラメータのハッシュ計算を実行することにより、前記第1レベルのフラグメントのフラグメント識別子IDを取得し、前記フラグメントIDに基づいてキャッシングシステムから前記フラグメントIDに対応する前記第1レベルのフラグメントのHTMLコードを検索し、肯定でない場合は、ウェブサーバのトランザクションシステムによって、前記フラグメントIDに対応する前記HTMLコードを検索することと、を含む、請求項3に記載の方法。前記第1レベルのフラグメントおよび前記キャッシングシステムが前記第1レベルのフラグメントの前記HTMLコードを含まないときに、前記方法は、前記ウェブサーバにより、前記フラグメントIDに対応する前記HTMLコードを見つけることと、前記見つけられたHTMLコードおよび前記フラグメントIDとの対応関係を前記キャッシングシステム内にキャッシングすることと、をさらに含む、請求項4に記載の方法。前記キャッシング情報は前記キャッシュされるフラグメントのキャッシング継続時間の情報をさらに含み、前記方法は、前記キャッシング継続時間内にフラグメントのコンテンツが変更される場合、前記変更されたフラグメントのフラグメント名およびフラグメントパラメータのハッシュ計算を実行することにより前記変更されたフラグメントのフラグメントIDを取得することと、前記フラグメントIDに基づいて前記キャッシングシステムから前記フラグメントIDに対応する前記HTMLコードを見つけて削除することと、をさらに含む、請求項4に記載の方法。ヘッダがキャッシュされる場合、前記方法は、前記フラグメントの前記HTMLコードに対応する前記ヘッダの値を前記キャッシングシステム内にキャッシングすること、をさらに含む、請求項4に記載の方法。前記再帰的にレンダリングすることが、処理されるフラグメントのために、前記処理されるフラグメントレベルを超えるフラグメント内にプレースホルダを生成することと、前記処理されるフラグメントのフラグメント名およびフラグメントパラメータに基づいて、前記処理されるフラグメントのHTMLコードを取得することと、前記処理されるフラグメントの前記HTMLコードにより前記処理されるフラグメントの前記プレースホルダを置換することと、を含む、請求項3に記載の方法。引き続きフラグメント解析プロセスを実行することは、前記第2レベルのフラグメントが第3レベルのフラグメントを含んでいるかどうかを判断することと、肯定の場合に、Nが3より大きい整数である、Nレベルのフラグメントが他のフラグメントを含んでいないと判断されるまで再帰的に前記第3レベルのフラグメントをレンダリングすることと、をさらに含む、請求項3に記載の方法。ウェブページキャッシングを処理する方法であって、ウェブページへのリクエストを受信することと、前記ウェブページをキャッシュするかどうかを判断することと、前記ウェブページがキャッシュされるべきである場合に、前記ウェブページのコンテンツを取得するために前記ウェブページを直接レンダリングすることと、前記ウェブページがキャッシュされるべきでない場合に、前記ウェブページの第1レベルのフラグメント情報を取得し、引き続き前記第1レベルのフラグメント情報に基づいて、第1レベルのフラグメントのためのフラグメント解析プロセスを実行することと、を含み、前記フラグメント解析プロセスは、現在のフラグメントが他のフラグメントを含んでいるかどうかについての情報を含む、前記第1レベルのフラグメントの事前設定ネスティング情報に基づいて前記第1レベルのフラグメントをレンダリングすることと、前記解析プロセスの結果を結合して、前記ウェブページの前記第1レベルのフラグメントの完全なコンテンツを生成することと、を含む、方法。前記ウェブページをキャッシュするかどうかを判断することは、前記ウェブページのURLを取得することと、前記URLに基づいて、ページキャッシングが前記ウェブページに適切であるかどうかについての情報、および前記ウェブページのキャッシング継続時間の情報を含む事前設定キャッシング情報を見つけることと、を含む、請求項10に記載の方法。前記ウェブページを直接レンダリングすることは、前記キャッシング継続時間の満了前に、前記ウェブページの前記URLおよびウェブページパラメータから32桁のウェブページIDを生成することと、前記ウェブページIDに基づいてキャッシングシステムから対応するHTMLコードを見つけることと、を含む、請求項10に記載の方法。前記HTMLコードが見つからない場合に、ウェブサーバのトランザクションシステムにより、前記ウェブページIDに対応する前記HTMLコードを見つけることをさらに含む、請求項12に記載の方法。ウェブページのネストしたフラグメントキャッシングのための装置であって、前記ウェブページのリクエストを受信したことに応答してウェブページの第1レベルのフラグメント情報を取得するように構成された収集モジュールと、第1レベルのフラグメント情報に基づいて、第1レベルのフラグメントのためのフラグメント解析プロセスを実行するように構成されたフラグメント解析モジュールであって、前記フラグメント解析プロセスは、前記第1レベルのフラグメントの所定のネスティング情報に基づいて前記第1レベルのフラグメントをレンダリングすることを含み、前記ネスティング情報は現在のフラグメントが他のフラグメントを含んでいるかどうかについての情報を含む、フラグメント解析モジュールと、前記レンダリングのレンダリング結果を結合して、前記ウェブページの前記第1レベルのフラグメントの完全なコンテンツを生成するように構成された、結合およびアセンブリモジュールと、を備える、装置。前記収集モジュールは前記ウェブページのユニフォームリソースロケータURLを取得し、前記ウェブページの前記URLに基づいて前記ウェブページのテンプレートを見つけるようにさらに構成され、前記取得モジュールは、前記ウェブページの前記テンプレート内で前記第1レベルのフラグメントに対応するフラグメント名およびフラグメントパラメータを取得する、請求項14に記載の装置。前記フラグメント解析モジュールは、引き続き前記第1レベルのフラグメントのフラグメント名およびフラグメントパラメータに基づいて、前記第1レベルのフラグメントのHTMLコードおよびネスティング情報を取得し、前記ネスティング情報に基づいて第1レベルのフラグメントが第2レベルのフラグメントを含んでいるかどうかを判断するように構成されている、請求項14に記載の装置。ウェブページをキャッシュする装置であって、ウェブページのリクエストを受信するように構成されたウェブページリクエスト受信モジュールと、前記要求されたウェブページのページキャッシングを実行するかどうかを判断するように構成された判断モジュールと、前記判断モジュールがウェブキャッシングを実行すると判断した場合に、前記ウェブページのコンテンツを取得するために前記ウェブページを直接レンダリングするように構成された直接レンダリングモジュールと、ネストしたフラグメントキャッシング装置であって、前記判断モジュールがウェブキャッシングを実行しないと判断した場合、前記ウェブページの第1レベルのフラグメント情報を取得し、引き続き前記第1レベルのフラグメント情報に基づいて、第1レベルのフラグメントのためのフラグメント解析プロセスであって、現在のフラグメントが他のフラグメントを含んでいるかどうかについての情報を含む、前記第1レベルのフラグメントの所定のネスティング情報に基づいて、前記第1レベルのフラグメントをレンダリングすることを含む、フラグメント解析プロセスを実行し、前記レンダリングのレンダリング結果を結合して、前記ウェブページの前記第1レベルのフラグメントの完全なコンテンツを生成するように構成された、ネストしたフラグメントキャッシング装置と、を備える、装置。前記判断モジュールは、前記ウェブページのURLを取得し、前記URLに基づいて事前設定キャッシング情報を見つけるように構成され、前記キャッシング情報はページキャッシングが前記ウェブページに対して適切であるかどうかについての情報、および前記ウェブページのキャッシング継続時間の情報を含む、請求項17に記載の装置。前記直接レンダリングモジュールは、前記キャッシング継続時間の満了前に、前記ウェブページの前記URLおよびウェブページパラメータから32桁のウェブページIDを生成し、前記ウェブページIDに基づいてキャッシングシステムから対応するHTMLコードを見つけるように構成されている、請求項17に記載の装置。前記直接レンダリングモジュールが前記HTMLコードを見つけない場合に、前記装置はウェブサーバのトランザクションシステムにアクセスすることにより前記ウェブページIDに対応したHTMLコードを見つける、請求項19に記載の装置。本開示の例示的な実施形態での技術方式が、例示的な実施形態での添付の図面を用いて以下に明確かつ完全に説明される。当然のことながら、ここで説明される例示的な実施形態は本開示の例示的な実施形態の部分だけであり、すべてを構成するものではない。本開示の例示的な実施形態に基づいて、当業者は本開示の範囲内に存するすべての他の例示的な実施形態を取得することができる。開示された方法、装置、およびシステムは一般的または専門的なコンピュータシステムの環境や構成で使用することができる。例としては、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはポータブルデバイス、タブレットデバイス、マルチプロセッサシステム、および上記の任意のシステムまたはデバイスを含む分散コンピューティング環境が含まれる。開示された方法、装置、およびシステムはコンピュータ実行可能命令、例えばプログラムモジュールの一般的な文脈で説明することができる。一般的に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、および特定の機能を実行するか、または特定の抽象データ型を実装するように含めることができる。開示された方法およびシステムは、機能が通信ネットワークを介してリンクされたリモート処理デバイスによって実行される分散コンピューティング環境で実施することができる。分散コンピューティング環境では、プログラムモジュールはメモリ記憶装置を含むローカルおよび/またはリモートコンピュータ記憶媒体に配置することができる。本開示の主なアイデアの一つは、ネスティング情報を設定し事前にウェブページの各フラグメントの情報をキャッシュすることを含むことができる。ネスティング情報は現在のフラグメントが他のフラグメントを含んでいるかどうかについての情報を含むことができる。さらに、各フラグメントに対応するネスティング情報はフラグメントが現在解析されている場合、対応するネスティング情報がウェブページテンプレートから読み込むことができるようにウェブサーバのウェブテンプレートに保存することができる。ウェブページのテンプレートに含まれている情報は、さらにフラグメント名およびフラグメントパラメータを含むことができ、各フラグメントはフラグメント名で識別することができ、フラグメントパラメータはトランザクションに応じて決定することができる。トランザクションはユーザの特定の要求を参照し、ユーザの特定の要求を満たす機能は特定の業務に対応している。キャッシング情報はフラグメントをキャッシュする必要があるかどうかについての情報、およびキャッシュする必要があるフラグメントのキャッシングの継続時間についての情報を含んでいる。キャッシング情報はコンフィギュレーションサーバに格納することができる。ウェブページがキャッシュされている場合、またはネストしたフラグメントのキャッシングがウェブページのフラグメントに対して実行されると、キャッシング情報を動的にコンフィギュレーションサーバから取得することができる。本開示では、ウェブページのリクエストを受信したときに、要求されたウェブページのためのページキャッシングが必要となるかどうかが判断される。必要な場合、直接ウェブページのコンテンツを取得するためにウェブページがレンダリングされる。必要でない場合は、ウェブページの第1レベルのフラグメント情報を取得することができる。第1レベルのフラグメント情報に基づいて、フラグメント解析プロセスが引き続いて第1レベルのフラグメントのために実行される。フラグメント解析プロセスは第1レベルのフラグメントの事前設定ネスティング情報に基づいて第1レベルのフラグメントをレンダリングすることを含むことができ、ネスティング情報は現在のフラグメントが他のフラグメントを含んでいるかどうかに関する情報が含み、ウェブページの第1レベルのフラグメントの完全なコンテンツを生成するためにフラグメント解析プロセスの結果を結合する。本開示の例示的な実施形態では、ウェブページのフラグメントはフラグメントの少なくとも2つのレベルを含むことができ、各レベルは1つ以上のフラグメントを含むことができることに留意されたい。第1レベルのフラグメントは第2レベルのフラグメントと親子の関係を有することができる。しかし、すべての第1レベルのフラグメントが第2レベルのフラグメントを含む訳ではない。あるいは、第1レベルのフラグメントのうちの1つ以上が第2レベルのフラグメントを含むことができる。また、第2レベルのフラグメントは第3レベルのフラグメント等を含むことができる。本開示では、このようなネスティング関係は再帰的ネスティングと呼ばれている。さらに、様々なレベルでのフラグメントのキャッシング情報は互いに独立していてもよい。例えば、現在のレベルのフラグメントがキャッシングされるように事前に設定されてもよく、次の下位レベルのサブフラグメントがキャッシングされないように設定されてもよく、次の下位レベルのサブフラグメントのサブフラグメントがキャッシュされるように設定されてもよい等である。キャッシング情報が事前に設定され、コンフィギュレーションサーバに格納されてもよい。当然のことながら、コンフィギュレーションサーバでこの事前設定キャッシング情報は、その後の使用中にリアルタイムに更新されてもよい。図1は本発明の実施形態によるシステム100の構成図を示す。ユーザはウェブサーバ102からクライアント101を介してウェブページを要求する。クライアントはモバイルおよび非モバイルデバイスの両方を含む、処理およびメモリ機能を有する任意の数のデバイスとして実装することができる。ウェブサーバ102は個々のサーバ、サーバクラスタ、サーバファーム、データセンター、またはメインフレームコンピューティングシステムのような処理およびメモリ機能を含む任意の数のサーバアーキテクチャーを表す。キャッシング装置103はウェブサーバ102に統合されてもよい。キャッシング装置103はウェブサーバ102に追加の機能エンティティとして、またはスタンドアロン機能エンティティとして実装することができる。キャッシング装置103は、例示的な実施形態で説明したウェブページのネストしたフラグメントのキャッシング中に再帰的な処理を実行することができる。キャッシングシステム104は各フラグメントまたはウェブページのHTMLコードを格納するために使用される。キャッシング装置103はキャッシングシステム104からのウェブページまたはフラグメントのHTMLコードを要求することができる。キャッシングシステム104がフラグメントまたはウェブページのHTMLコードを含まない場合、ウェブサーバ102のトランザクションシステム105がフラグメントまたはウェブページのHTMLコードを供給するための責任がある。トランザクションシステム105は現在特定のユーザの要求に関連付けられているトランザクションを満たすウェブサーバマシン上で複数のモジュールで構成されたシステムとして考えることができる。本開示の実用的適用では、HTMLコードがキャッシングシステムにキャッシュされないことに留意されたい。むしろ、HTMLコードを直接クライアント101内にローカルに保存することができる例えば、クライアントのデバイスメモリ内に直接キャッシュされる。クライアント101とウェブサーバ102は、互いに直接HTMLコードを交換してもよい。クライアントがフラグメントまたはウェブページに対応するHTMLコードをローカルに見つけることができない場合は、クライアント101は検索を実行するためにウェブサーバ102のトランザクションシステム105にトリガを掛けてもよい。クライアントは対応するHTMLコードをローカルに見つけた場合、クライアントはユーザが要求したウェブページに直接HTMLコードを表示してもよい。しかし、そのようなアプローチはローカルメモリまたはコンピュータに相対的に高い性能要件を要求し、ウェブページには多くの多様性があるので、独立した分散型のクラスタサーバは、通常本開示の実施形態で説明したようにキャッシングシステムとして使用されている。本開示の実施形態で説明したシステムのフレームワークはコンフィギュレーションサーバ106をさらに含むことができる。コンフィギュレーションサーバ106はキャッシング装置103に各フラグメントのキャッシング情報を提供することができる。しかし、開示されたシステムはコンフィギュレーションサーバ106なしで実装することができる。このような場合には、キャッシング情報を一度にウェブサーバ内の各フラグメントのために事前に設定してもよい。変更することができないフラグメントの固定パラメータと同様に、キャッシングシステム内の各フラグメントのキャッシング情報は動的に変更できない場合がある。例示的な実施形態では、キャッシング情報をテキスト形式で実施することができる。代わりに、キャッシング情報はプログラム内のオブジェクトとして埋め込まれていてもよい。キャッシング情報がプログラム内のオブジェクトとして埋め込まれている場合、キャッシング情報は対応する現在のフラグメントが他のネストしたフラグメントを含んでいるかどうか、または特定のネスティングが無限ループを含んでいるかどうかを判断するためにTHREAD_LOCALから取得することができる。THREAD_LOCALはウェブサーバのスレッドレベルの変数であり、与えられた要求プロセスのキャッシング装置にコンフィギュレーションサーバからキャッシング情報を提供してもよい。ウェブページキャッシングを処理する本開示の方法は、既存の技術で実装されているページ全体のキャッシュを実装することができるだけでなく、既存の技術では達成できないウェブページのネストしたフラグメントキャッシングを実装することができ、このように既存の技術の欠点を是正する。第1の例示的実施形態図2は列挙されたブロックとして次の操作を含むことができる、ウェブページキャッシングを処理する第1の例示的方法を示すフローチャートを表す。201で、ウェブページの第1レベルのフラグメント情報はウェブページのリクエストを受信したことに応答して取得される。本実施形態では、ウェブページが決定されると、ウェブページに関連付けられた第1レベルのフラグメント情報も決定することができる。同じウェブページのフラグメントの形式どのフラグメントがウェブページから分割されているか、これらのフラグメントの位置および名前などを含む情報としては同じであるからである。ウェブページ内の各フラグメントは本質的にはプレースホルダであり、このプレースホルダは他のウェブページで使用することができる。フラグメントの最終的なレンダリング結果が得られた場合にのみ関連したプレースホルダは、フラグメントの特定のコンテンツに置換される。一般に、フラグメントの具体的な内容はフラグメントに対応するHTMLハイパーテキストマークアップ言語コードを指す。本例示的実施形態では、ウェブページ内のフラグメントはネストした形でキャッシュされてもよい。第1レベルのフラグメントAが第2レベルのフラグメントBを含み、第2レベルのフラグメントBが第3レベルのフラグメントCを含む場合、ネストしたキャッシングはフラグメントA、B、およびCの所定のキャッシング情報に基づいて、第2レベルのフラグメントBをキャッシュせずに第1レベルのフラグメントAおよび第3レベルのフラグメントCをキャッシュする機能として理解することができる。しかし、第1レベルのフラグメントが他のフラグメントを含んでいるかどうかに関係なく、このブロックで取得されるのは第1レベルのフラグメント情報である。第1レベルのフラグメントのネスティング情報はその後これらの第1レベルのフラグメントが解析されたときに、順次取得することができる。202で、フラグメント解析プロセスは引き続きウェブページの第1レベルのフラグメント情報に基づいて、第1レベルのフラグメントのために実行される。フラグメント解析プロセスは第1レベルのフラグメントのネスティング情報に基づいて、第1レベルのフラグメントをレンダリングすることを含むことができ、ネスティング情報は現在のフラグメントが他のフラグメントを含んでいるかどうかについての情報を含む。ウェブページの第1レベルのフラグメント情報を取得するにあたり、フラグメントの解析プロセス中にコンフィギュレーションサーバからそれぞれの第1レベルのフラグメントのネスティング情報を動的に取得することができるように、解析プロセスは第1レベルのフラグメントのために実行される。ネスティング情報は現在の第1レベルのフラグメントが第2レベルのフラグメントを含んでいるかどうかについての情報、および含まれる第2レベルのフラグメントの情報を含むことができる。すべての第1レベルのフラグメントはこのブロックで解析される。それぞれの第1レベルのフラグメントのフラグメント解析プロセスは、同時にまたは連続して実行することができる。しかしながら、このフラグメント解析プロセスが行われる順序は本開示の例示的な実施形態の実装には影響を与えない。このブロックで説明されるレンダリングプロセスは、第1レベルのフラグメントの各フラグメント名およびそれぞれのフラグメントパラメータに基づいて第1レベルのフラグメントの特定の内容に対応したHTMLコードを検索する。レンダリングプロセスは既存の技術のレンダリングプロセスと同様であり、したがって本明細書ではさらなる詳細を説明しない。203で、レンダリングのレンダリング結果を結合して、はウェブページの第1レベルのフラグメントの完全なコンテンツを生成する。この動作の一例として、第1レベルのフラグメントが他のフラグメントを含んでいない場合、関連したレンダリング結果は第1レベルのフラグメントのHTMLコードを含む。第1レベルのフラグメントが第2レベルのフラグメントを含む、または第2レベルのフラグメントが第3レベルのフラグメントをさらに含む、または、再帰的方法で、例えばN-1のレベルのフラグメントがNレベルのフラグメントを含む場合、第1レベルのフラグメントのレンダリング結果は第2レベルからNレベルまでフラグメントのHTMLコードを含んでいてもよい。したがって、第1レベルのフラグメントのレンダリングされたコンテンツを結合して、ウェブページの第1レベルのフラグメントのコンテンツを生成することができる。第2の例示的実施形態図3はブロックとして示される次の方法の操作を含む、ウェブページキャッシング処理の第2の実施方法を説明するフローチャートを示す。301で、ウェブページのURLはウェブページのリクエストを受信したことに応答して取得される。この動作の一例として、ウェブページのURLユニフォーム/ユニバーサルリソースロケータは最初のウェブページへのリクエストを受信した場合に取得される。特定のネットワーク取引プラットフォームの製品の詳細ウェブページを例として使用してもよい。例えば、この製品の詳細ウェブページのURLアドレスがxxx.xxx.com/detail.htmlid=123と仮定する。302では、ウェブページのテンプレートがウェブページのURLに基づいて見つけられる。各ウェブページが固有のURLおよびテンプレートを有しているように、ウェブページで使用されているテンプレートはウェブページのURLに基づいて決定することができる。製品の詳細ウェブページのテンプレート情報がdetail.vmであれば、テンプレート情報はこのブロックでの製品の詳細ウェブアドレスに基づいてdetail.vmと決定することができる。各ウェブページで使用されるテンプレートは互いに独立していてもよい、あるいは複数のウェブページ間で共有されてもよいことに留意すべきである。テンプレートを使用するとき、ウェブページはテンプレートに規定されたフラグメント部分を事前設定する必要がある。303で、プロセスはウェブページのテンプレートから第1レベルのフラグメントに対応するフラグメント名およびフラグメントパラメータを取得する。ウェブページのテンプレートが決定された後、テンプレートに対応するウェブページのフラグメント形式はそれに応じて決定することができる。既存の技術とは異なり、ウェブページが第1レベルのフラグメントを含むのみではなく、第1レベルのフラグメントは再帰的にフラグメントの少なくとも1つのレベルを含んでいてもよい。しかし、このブロックでは、ウェブページから取得されたフラグメントは第1レベルのフラグメントに対応するフラグメント名およびフラグメントパラメータのみを含んでいてもよい。フラグメントパラメータはトランザクションに応じて決定してもよい。トランザクションはユーザの特定の要求を参照し、ユーザの特定の要求を満たす機能は特定の業務に対応している。例えば、店主情報については、対応するフラグメントのパラメータは販売ユーザIDであってもよい。製品の詳細ウェブページを例として使用している場合は、対応するフラグメントのパラメータは製品情報および販売ユーザIDであってもよい。次のアプローチはテンプレートにフラグメントを導入するために使用されてもよく、例えば、フラグメント名が店主情報であり、テンプレート名が製品の詳細である場合、製品の詳細の店主情報の参照フラグメントのためのコードは以下のようであってもよい:control.setuserInfo.addPramsuserId,1234addPrams内のコンテンツは店主情報フラグメント、およびUSERID1234であるユーザのIDに対応するフラグメントのパラメータである。コード部分control.setuserinfoはこのフラグメントが製品詳細テンプレートで参照されていることを示す。当然のことながら、このコードの実装はあくまで一例であり、本開示の制限として解釈されるべきではない。304で、プロセスは第1レベルのフラグメントのフラグメント名およびフラグメントパラメータに基づいて、第1レベルのフラグメントのネスティング情報を取得し、さらに第1レベルのフラグメントのネスティング情報に基づいて、第1レベルのフラグメントのそれぞれのHTMLコードを取得する。ネスティング情報は現在のフラグメントが他のフラグメントを含んでいるかどうかについての情報を含む。304で、第1レベルのフラグメントのフラグメント名およびフラグメントパラメータが取得されたときに、第1レベルのフラグメントのネスティング情報およびHTMLコードが取得されてもよい。具体的には、1つの実装では、ネスティング情報はウェブサーバのキャッシング装置103にネスティング情報を送ることができる、コンフィギュレーションサーバ106から取得することができる。フラグメントのHTMLコードは、イメージまたはウェブページに表示されるテキストなどの情報を含むことができる。このフラグメントおよびそれに対応するHTMLコードは他のウェブページのテンプレートで使用されてもよい。例えば、販売ユーザのウェブページの製品の詳細内の店主情報フラグメントおよびネットワーク取引プラットフォームのショップのウェブページの店主情報フラグメントは同じフラグメントに属していてもよい。図4は、図3で操作ブロック304の一部として一般的に指摘したように、第1レベルのフラグメントのすべてのHTMLコードが取得されるときに、第1レベルのフラグメントのHTMLコードを取得する1つの例示的なプロセスを示す。プロセスは次の操作を含んでいてもよい。401で、プロセスはコンフィギュレーションサーバ106からの第1レベルのフラグメントのキャッシング情報を検索する。キャッシング情報はフラグメントがキャッシュする必要があるかどうかについての情報およびキャッシュする必要があるフラグメントのキャッシング継続時間を含む。コンフィギュレーションサーバはウェブページの各レベルのフラグメントのキャッシング情報のレコードを保持する。キャッシング情報はフラグメントがキャッシュする必要があるかどうかについての情報およびキャッシュする必要があるフラグメントのキャッシングの継続時間を含む。キャッシングの継続時間はキャッシングシステムにおける現在のフラグメントの有効時間を示すために使用される。現在のフラグメントは対応するキャッシュの継続時間よりも長い時間キャッシングシステムにキャッシュされている場合、フラグメントの有効期限が切れており、キャッシングシステムはもはやフラグメントに固有のコンテンツが含まれなくなる。このキャッシング情報を事前に設定してもよい。当然のことながら、特定のフラグメントのキャッシング情報をその後変更する必要がある場合、コンフィギュレーションサーバに格納されている情報を直接変更することによって達成してもよい。このように、コンフィギュレーションサーバで見つけられたキャッシング情報は最新のものである。キャッシング情報は、現在のフラグメントをキャッシュする必要があることを表す1と現在のフラグメントをキャッシュする必要がないことを表す0とを有するように実装できる。キャッシング継続時間情報の実装については、キャッシング期間の情報とフラグメント名またはフラグメントパラメータなどの情報との関係を直接構築することができる。当然のことながら、実用的な適用では、キャッシング情報を実装するために多くの方法があり、本発明の例示的な実施形態は何ら制限を有していない。キャッシングの有効期限がキャッシングシステムによって制御されているので、キャッシング装置は例示的な実施形態で説明したプロセスを実行する際に、現在のウェブページまたはフラグメントの有効期限がいつ切れるか分からないことに留意すべきである。キャッシングシステムを検索したときに、キャッシング装置が現在のウェブページまたはフラグメントを検出しない場合、現在のフラグメントのコンテンツがすでに期限切れになったことを示しているかもしれない。402で、プロセスは第1レベルのフラグメントが第1レベルのフラグメントのキャッシング情報に基づいてキャッシュする必要があるかどうかを判断する。肯定の場合、プロセスはブロック403に継続する。そうでない場合、プロセスはブロック404に継続する。401で説明した例によると、フラグメントをキャッシュする必要があるかどうかを表す取得された情報が1である場合、そのフラグメントはキャッシュされるに設定されている。403で、プロセスは第1レベルのフラグメントのフラグメントIDを取得するために第1レベルのフラグメントのフラグメント名およびフラグメントパラメータにハッシュ計算を適用し、フラグメントIDに基づいて、キャッシングシステムからフラグメントIDに対応する第1レベルのフラグメントのHTMLコードを検索する。プロセスはブロック405に継続する。図5は一例による第1レベルのフラグメントの代表的なフラグメント名を示す。ウェブページの第1レベルのフラグメントは、説明フラグメントA、ナビゲーションフラグメントB、店主情報フラグメントC、および店舗区分フラグメントDを含むことができる。店主情報フラグメントCは第2レベルの店主信頼性フラグメントC1をさらに含むことができる。図4のブロック403に戻り、ハッシュ計算は第1レベルのフラグメントのフラグメント名およびフラグメントパラメータで実行することができる。対応する計算結果は一般的に長さが32桁である第1レベルのフラグメントのフラグメントIDとして機能する。この32桁のフラグメントIDに基づいて、フラグメントIDに対応するHTMLコードはキャッシングシステムから検索して取得することができる。キャッシングシステムはHTMLコードだけでなく、各フラグメントIDおよび対応関係のHTMLコードとの対応関係を格納する。第1レベルのフラグメントをレンダリングするプロセスはウェブページ内の第1レベルのフラグメントの場所のプレースホルダを生成すること、対応するHTMLコードを取得すること、HTMLコードを取得するのに応じて、HTMLコードによって第1レベルのフラグメントのプレースホルダを置換することを含むことができることに留意すべきである。レンダリングはフラグメントに対して実行されると、ウェブページ内のそのレベルに関係なく、上記のプロセスがレンダリングを実行するために使用することができる。プレースホルダはコンテンツがその後の動作中に追加されるかもしれないフラグメントのための場所として理解することができる。404では、ウェブサーバ102のトランザクションシステム105は第1レベルのフラグメントのフラグメントIDに対応したHTMLコードを見つける。プロセスはブロック405に継続する。現在のフラグメントがキャッシュされないように表示されている場合は、ウェブサーバのトランザクションシステム105は現在のフラグメントのレンダリングを実行することができ、レンダリング結果はその現在のフラグメントのHTMLコードである。具体的には、トランザクションシステムのレンダリングモジュールはデータベース、または検索エンジン、またはドキュメントシステムからフラグメントIDに対応したHTMLコードを見つける。405で、第1レベルのフラグメントが第1レベルのフラグメントの事前設定ネスティング情報に基づいて第2レベルのフラグメントを含んでいるかどうかが判断される。肯定の場合、プロセスはブロック406に継続する。そうでない場合は、第1レベルのフラグメントのためのレンダリングプロセスが終了する。ブロック405での動作は必要に応じて現在解析されている第1レベルのフラグメントがネスティング情報に基づいて第2レベルのフラグメントを含んでいるかどうかを判断することができる。406で、プロセスは第2レベルのフラグメントのための再帰的なレンダリングを実行する。再帰的なレンダリングは、処理されるフラグメントのレベルを越えるフラグメントに、処理されるフラグメント用のプレースホルダを生成すること、処理されるフラグメントのフラグメント名およびフラグメントパラメータに基づいて処理されるフラグメントのHTMLコードを取得すること、処理されるフラグメントのHTMLコードにより処理されるフラグメントのプレースホルダを置換することを含むことができる。プロセスはブロック407に継続する。第1レベルのフラグメントが第2レベルのフラグメントを含む場合、このブロックは再帰的に第2レベルのフラグメントのためのレンダリングを実行する。具体的には、第2レベルのフラグメントのプレースホルダは、まず第1レベルのフラグメントで生成される。第2レベルのフラグメントのフラグメント名およびフラグメントパラメータに基づいて、第2レベルのフラグメントのHTMLコードは上記と同様の手法を用いて取得することができる。具体的には、同様のアプローチは第2レベルのフラグメントの32桁のIDを取得するために第2レベルのフラグメントのフラグメント名およびフラグメントパラメータのハッシュ計算を実行することを含むことができる。第2レベルのフラグメントをキャッシュする必要がある場合、対応するHTMLコードはIDに基づいてキャッシングシステムから取得することができる。対応するHTMLコードがキャッシングシステムで見つからない場合、または第2レベルのフラグメントをキャッシュする必要がない場合は、対応するHTMLコードに関連付けられているトランザクション機能に応じて、データベースやインターネットから取得することができる。HTMLコードを見つけると、第2レベルのフラグメントのプレースホルダは第2レベルのフラグメントのHTMLコードにより置換することができる。407で、プロセスは第2レベルのフラグメントが第3レベルのフラグメントを含んでいるかどうかを判断することを継続する。肯定の場合、プロセスはブロック408に継続する。そうでない場合は、第2レベルのフラグメントのためのレンダリングプロセスが終了する。より具体的には、第2レベルのフラグメントのHTMLコードを見つける際に、第2レベルのフラグメントが第3レベルのフラグメントを含んでいるかどうかが判断される。第2レベルのフラグメントが第3層のフラグメントを含んでいない場合、第2レベルのフラグメントのためのレンダリングプロセスが完了し終了する。具体的には、第2レベルのフラグメントが第3レベルのフラグメントを含む場合、第2レベルのフラグメントの内容が最初にレンダリングされる。さらに、第3レベルのフラグメントのプレースホルダは第2レベルのフラグメント内で第3レベルのフラグメントに対応する位置に生成される。その後、第3レベルのフラグメントがレンダリングされる。第3レベルのフラグメントのレンダリングされたコンテンツは、第2レベルのフラグメント内のプレースホルダに充填される。その結果は第2レベルのフラグメントのHTMLコードである。例として上記の店主情報を使用する。店主情報フラグメントの情報は信頼性フラグメントを含む。再帰的なレンダリングプロセスの間に、店主情報フラグメントが最初にレンダリングされる。プレースホルダは店主情報フラグメントにおける信頼性フラグメントの位置で生成される。その後、信頼性フラグメントがレンダリングされ、信頼性フラグメントのレンダリングされたコンテンツは、店主情報フラグメント内のプレースホルダに充填される。最後に店主情報フラグメントのレンダリング結果が返される。408で、Nが3より大きい整数である、Nレベルのフラグメントが他のフラグメントを含まないとの判断が得られるまで、プロセスは第3レベルのフラグメントのためのレンダリングを再帰的に実行する。このブロックで、Nが3より大きい整数である、Nレベルのフラグメントが他のフラグメントを含まないとの判断が得られるまで、第1レベルのフラグメントおよび第2レベルのフラグメントのためレンダリングが再帰的に実行される。図3のブロック305に戻ると、図3のプロセスはウェブページの第1レベルのフラグメントの完全なコンテンツを生成するすべての第1レベルのフラグメントの取得したHTMLコードを結合する。このブロックでは、第1レベルのフラグメントのレンダリング結果が結合される。レンダリング結果は第1レベルのフラグメントのHTMLを参照する。第1レベルのフラグメントがフラグメントの少なくとも1つのレベルを再帰的に含む場合は、第1レベルのフラグメントのレンダリング結果はフラグメントの少なくとも1つのレベルのHTMLコードを含む。このブロックはウェブページの第1レベルのフラグメントの完全なコンテンツを形成するためにすべてのフラグメントのHTMLコードを結合する。306で、プロセスはユーザにクライアントのウェブページ上に第1レベルのフラグメントの完全な内容を表示する。第1レベルのフラグメントの生成された完全なコンテンツがユーザのために、クライアントのウェブページ上に表示される。表示された結果はユーザが見ているウェブページのコンテンツである。この例示的な実施形態はウェブページのネストしたフラグメントキャッシングを可能とするだけではなく、ウェブページのネストしたフラグメントキャッシングが実行されるときに各フラグメントのHTMLコードを再帰的に取得し、このようにユーザにウェブページの完全なコンテンツを表示し既存の技術の欠落を是正する。第3の例示的実施形態図6はウェブページのキャッシング処理の第3の例示的方法を示すフローチャートを表す。この例示的実施形態はウェブページのキャッシング処理の方法の適用例として理解することができ、図6中のブロックとして示される次の操作方法を含むことができる。601で、プロセスはウェブページのリクエストを受信したことに応答してウェブページの第1レベルのフラグメント情報を取得する。602で、プロセスはコンフィギュレーションサーバ106内の第1レベルのフラグメントのキャッシング情報を検索する。キャッシング情報はフラグメントがキャッシュする必要があるかどうかについての情報、およびキャッシュする必要のあるフラグメントのキャッシング継続時間を含む。603で、第1レベルのフラグメントが第1レベルのフラグメントのキャッシング情報に基づいて、キャッシュする必要があるかどうかが判断される。肯定の場合、プロセスはブロック604に継続する。そうでない場合、プロセスはブロック605に継続する。604で、プロセスは第1レベルのフラグメントのフラグメントIDを取得するために、第1レベルのフラグメントのフラグメント名およびフラグメントパラメータのハッシュ計算を実行し、フラグメントIDに基づいて、フラグメントIDに対応する第1レベルのフラグメントのHTMLコードをキャッシングシステム104から検索する。この操作の一環として、第1レベルのフラグメントがキャッシュされている必要があるが、第1レベルのフラグメントに対応するHTMLコードがキャッシングシステム104内で見つからない場合がある。例えば、HTMLコードが第1レベルのフラグメントのためのキャッシング時間に達したとき、または第1レベルのフラグメントのコンテンツの有効期限が切れているときのような状況では見つからない場合がある。各レベルのフラグメントのキャッシング時間を事前に設定することができ、コンフィギュレーションサーバ106に格納することができる。HTMLコードが見つかった場合、プロセスはブロック606に継続する。HTMLコードが見つからない場合、プロセスはブロック605に継続する。605で、ウェブサーバ102のトランザクションシステム105はフラグメントIDに対応するHTMLコードを見つけることに責任を負うことになる。606で、第1レベルのフラグメントがキャッシュされる必要があるが、そのフラグメントのHTMLコードがキャッシングシステム104内に存在しないときに、見つけられたHTMLコードおよびフラグメントIDとの対応関係がキャッシングシステムにキャッシュされる。キャッシュする必要がある第1レベルのフラグメントのHTMLコードがキャッシングシステムに格納されていないので、ブロック605が実行された後に見つけられたHTMLコードはキャッシングシステムに保存することができる。第1レベルのフラグメントをキャッシュする必要がない場合は、第1レベルのフラグメントの見つけられたHTMLコードはキャッシングシステムに保存する必要はないかもしれない。ブロック606はブロック605の後に続くが、ブロック606はキャッシュする必要がある第1レベルのフラグメントのHTMLコードがキャッシングシステムに格納されていない場合に必要に応じて実行されることに留意されたい。したがって、ブロック606はこの例示的実施形態に不可欠のブロックでない場合がある。607で、所定のネスティング情報に基づいて第1レベルのフラグメントが、第2レベルのフラグメントを含むかどうかが判断される。肯定の場合は、再帰的なレンダリングが第2レベルのフラグメントのために実行される。再帰的なレンダリングは処理されるフラグメントのために、処理されるフラグメントを超えるレベルにあるフラグメントのプレースホルダを生成すること、処理されるフラグメントのフラグメント名およびフラグメントパラメータに基づいて処理されるフラグメントのHTMLコードを取得すること、および処理されるフラグメントのHTMLコードにより処理されるフラグメントのプレースホルダを置換することを含むことができる。608で、プロセスは第2レベルのフラグメントが第3レベルのフラグメントを含んでいるかどうかを判断することを継続する。肯定の場合は、Nが3より大きい整数である、Nレベルのフラグメントが他のフラグメントを含んでいないと判断されるまで、再帰的なレンダリングが第3レベルのフラグメントのために実行される。それ以外の場合は、レンダリングプロセスが終了する。この例示的実施形態のブロック607および608は、すでに前述の例示的実施形態に詳細に説明されている。この例示的実施形態の実装は前述の例示的な実施形態の実装に相当するため、ブロック607および608のさらなる詳細については説明しない。609で、特定のフラグメントのコンテンツが変化するときに、そのフラグメントのフラグメントIDはそのフラグメントのフラグメント名およびフラグメントパラメータのハッシュ計算を実行することにより取得することができる。610で、プロセスがフラグメントIDに基づいてキャッシングシステムからフラグメントIDに対応したHTMLコードを見つけて削除する。この例示的実施形態では、ブロック609および610は自発的にキャッシングシステムに格納されているフラグメントのHTMLコードを無効にするための機能として実装されてもよい。自発的に無効にするとは次のように解釈されてもよい:特定のフラグメントのキャッシング時間がまだ満了していないが、フラグメントの対応するHTMLコードがブロック609および610を介してキャッシングシステムから削除されてもよい。実用的な適用の特定の適用シナリオでは、フラグメントのHTMLコードは所定のキャッシング時間の前に無効にする必要があるかもしれない。例として店主情報フラグメントを使用する。店主情報フラグメントのキャッシング時間が1日であり、店主情報がその日の終わりの前に変更されてもよい。この状況では、キャッシングシステムに格納されているフラグメントのHTMLコードを変更することができ、以前にキャッシュされた内容を削除することができる。ブロック609および610から、フラグメントのHTMLコードを無効にするときに、キャッシングシステムからのフラグメントIDに対応するHTMLコードを削除するためのフラグメントIDとして機能することができる32桁の結果を得るために、ハッシュ計算はフラグメント名およびフラグメントパラメータを使用して実行することができることに留意されたい。611で、プロセスはキャッシングシステム内のHTMLコード以外のレスポンスヘッダの値をキャッシュする。本開示のこの例示的実施形態では、ヘッダがキャッシュされ、特定のフラグメントのHTMLコードがキャッシングシステムに追加されたときに、特定のトランザクションはHTMLコードに加えてレスポンスヘッダに含まれる情報をキャッシュすることを要求する場合がある。レスポンスヘッダの値をキャッシュせずにHTMLコードをキャッシュすることにより、トランザクションの正常な操作を妨害することがある。例えば、製品の詳細ウェブページにアクセスするときに、対応する言語のバージョン情報が存在する場合がある。この言語のバージョン情報が_lang=gbkの形式で応答ヘッダに保存されることがある。製品の詳細ウェブページがクライアントに対応する結果を返した場合_lang=gbkが返される。このように、特定のフラグメントのHTMLコードは別のウェブページで同じであることが保証されてもよい。このブロックが実装されるとき、現在トランザクションシステムによって使用され、キャッシュされる必要があるレスポンスヘッダの値は事前に構成されてもよい。構成情報およびフラグメントの関連情報はキャッシングシステムで一緒に保存することができる。キャッシングに際し、ユーザが要求したウェブページのフラグメントがキャッシングシステム内で対応するレスポンスヘッダの値を有している場合、HTMLコードが返されるときに対応するレスポンスヘッダの値がさらに返されることがある。この例示的実施形態では、キャッシングシステムは分散サーバクラスタがキャッシングシステムとしてのサーバの数を増やすために水平展開アプローチを採用することができる分散サーバクラスタを介して実装されてもよい。サーバのいずれかがフラグメントのHTMLコードをあらかじめ格納しておくような場合、分散型クラスタの他のサーバにはHTMLコードを格納する必要がないかもしれない。さらに、例示的な実施形態に記載の技術方式はレベルの数を制限せずにフラグメントの再帰的なネスティングを可能にすることができ、各フラグメントごとに異なるキャッシング時間を設定することができる。さらに、ヘッダのためのキャッシングが必要な場合は、フラグメントのHTMLコードがキャッシュされるときに、特定のフラグメントのレスポンスヘッダで必要な値がキャッシュされてもよい。第4の例示的実施形態図7はウェブページのキャッシング処理の第4の例示的な方法を示すフローチャートを表す。この例示的実施形態はウェブページのキャッシング処理の方法の適用例として理解することができ、図7中のブロックとして示される次の操作方法を含むことができる。701で、ウェブページに対するリクエストが受信される。702で、要求されたウェブページのページキャッシングを実行するかどうかが判断される。はいの場合、プロセスはブロック703に継続する。そうでない場合、プロセスはブロック704に継続する。より具体的に、この例示的実施形態ではウェブページのキャッシングを取り扱うためのプロセスについて説明する。前述の3つの例示的な実施形態に記載の技術方式は、ウェブページをキャッシュする必要がないシナリオについて説明するが、ウェブページの特定のフラグメントをキャッシュする必要がある。この例示的な実施形態はウェブページがページ全体のキャッシングをされる必要があるかどうかを判断する。ユーザによって要求されたウェブページをキャッシュする必要がある場合は、ウェブページをその後の処理で直接レンダリングすることができる。ユーザの要求したウェブページをキャッシュする必要がない場合は、レンダリングプロセスはウェブページの様々なフラグメントに対して実行することができる。703で、プロセスはウェブページのコンテンツを取得するためにウェブページのレンダリングを直接実行する。ウェブページのHTMLコードをウェブページ全体をレンダリングすることにより直接取得することができる。実用的な適用では、32桁のウェブIDがウェブページ名およびウェブページパラメータのハッシュ計算を実行することにより取得することができる。このウェブIDに基づいて、ウェブページの対応するHTMLコードはキャッシングシステムから見つけることができる。HTMLコードを見つけることができない場合は、対応するHTMLコードをデータベースやインターネットから検索することができる。ウェブページの具体的なコンテンツは返された検索結果に基づいて取得することができる。ウェブページのパラメータはウェブサーバがユーザによって要求されたウェブページに基づいて、キャッシング装置に送信するパラメータを参照することができる。例えば、ユーザがウェブページを検索したときに、ウェブページのURLはパラメータであることの違いのみを有しているのと同じである。例えば:www.xxx.com/aaa.htmuser=[x]userName=[x]。704で、プロセスはウェブページのウェブページ解析を実行する。ウェブページ解析はウェブページの第1レベルのフラグメント情報を取得すること、引き続き第1レベルのフラグメント情報に基づいて第1レベルのフラグメントのためのフラグメント解析を実行することを含むことができる。このフラグメント解析プロセスは第1レベルのフラグメントの事前設定ネスティング情報に基づいて第1レベルのフラグメントをレンダリングすることを含む。ネスティング情報は現在のフラグメントが他のフラグメントを含んでいるかどうかについての情報を含む。ウェブページ解析はウェブページの第1レベルのフラグメントの完全なコンテンツを生成するためにレンダリングのレンダリング結果を結合することを含む。このブロックはウェブページがキャッシュされる必要のないシナリオに関係するが、いくつかのフラグメントをキャッシュする必要があるかもしれない。このシナリオの下での実装のプロセスは前述の3つの例示的な実施形態で詳細に説明されているので、本明細書では実装プロセスを繰り返し説明しない。この例示的な実施形態はウェブページのキャッシングをすること、ウェブページはキャッシュする必要があるがフラグメントはキャッシュする必要がない状況か、あるいはウェブページはキャッシュする必要はないがいくつかのフラグメントはネストしたキャッシングを受ける必要がある状況のいずれかに対応するレンダリング処理を実装することを実行することができる。第5の例示的実施形態図8はウェブページキャッシングの処理の第5の例示的方法を示すフローチャートを表す。この例示的実施形態はウェブページのキャッシング処理の方法の適用例として理解することができ、図8中のブロックとして示される次の操作方法を含むことができる。801で、ウェブページに対するリクエストが受信される。802で、プロセスはウェブページのURLを取得し、ウェブページのURLに基づいて所定のキャッシング情報を見つけることができる。キャッシング情報にはウェブページがページ全体のキャッシングを受ける必要があるかどうかについての情報を含むことができる。ページ全体のキャッシングが必要な場合は、プロセスはブロック803に継続する。ページ全体のキャッシングが必要とされない場合、プロセスはブロック805に継続する。この例示的実施形態では、コンフィギュレーションサーバ106はウェブページのキャッシング情報を格納することができる。さらに、コンフィギュレーションサーバ106は格納されたキャッシング情報を更新し、キャッシング装置103に更新したキャッシング情報を送信することができる。キャッシング装置が自発的にコンフィギュレーションサーバから対応するキャッシング情報を入手することができる。キャッシング情報はウェブページがページ全体のキャッシングを受ける必要があるかどうかについての情報を含む。803で、プロセスはウェブページのURLおよびウェブページのパラメータから32桁のウェブページIDを生成する。1つの実装では、このブロックは32桁のウェブページIDを生成するためにウェブページのURLおよびウェブページパラメータのハッシュ計算を実行する。プロセスはブロック804に継続する。804で、プロセスはキャッシングシステムからウェブページのIDに基づいて対応するウェブページのHTMLコードを検索する。ブロック803で取得された32桁のウェブページIDはキャッシングシステムから対応するウェブページのHTMLコードを検索するためのキーワードとして使用することができる。1つの実装では、ウェブサーバ102のトランザクションシステム105は、ウェブページIDに対応したHTMLコードを見つけるための責任を負うことになる。805で、プロセスはキャッシングシステムに見つけられたHTMLコードおよびウェブページIDとの対応関係をキャッシュする。このブロックでは、キャッシュする必要のあるウェブページがキャッシングシステムで見つけることができない場合、HTMLコードと同様に、HTMLコードと見つけられたウェブページIDとの対応関係はブロック805の後でキャッシングシステムに格納される。ウェブページのキャッシング中に、ウェブページをキャッシュする必要があり、ウェブページのキャッシング時間が満了していなく、ウェブページのHTMLコードが更新されている場合、ウェブページは自発的に無効とされている可能性があることに留意されたい。自発的に無効とする、および対応する実装の意味は、前述した実施形態に説明されており、したがって繰り返し本明細書では説明しない。説明の便宜上、上記の種々の実施形態は一連の動作として表されている。当業者であれば本開示は上記の動作の順序によって解釈されないことを理解すべきである。本開示に基づいて、特定のブロックは異なる順序で、または並列に実行することができる。また、当業者であれば本明細書に記載の例示的な実施形態は好ましい実施形態であることを理解すべきである。そこに関わる動作およびモジュールは本開示のために必要不可欠ではない。第6の例示的実施形態ウェブページキャッシングの第1の例示的な方法に対応するものとして、本開示は図9に示すように第6の実施形態によるウェブページキャッシング処理の装置をさらに提供する。装置はハードウェアおよび/またはソフトウェアで実装することができる1つ以上の機能コンポーネントを含むことができる。装置はウェブページのリクエストを受信したことに応答してウェブページの第1レベルのフラグメント情報を取得する取得モジュール901を含む。フラグメント解析モジュール902はまた、取得モジュール901と連通して提供され、取得モジュール901によって取得された第1レベルのフラグメント情報に基づいて、第1レベルのフラグメントのためのフラグメント解析プロセスを実行するように構成される。モジュール902によって実行されるフラグメント解析プロセスは、第1レベルのフラグメントの所定のネスティング情報に基づいて第1レベルのフラグメントをレンダリングすることを含み、ネスティング情報は現在のフラグメントが他のフラグメントを含んでいるかどうかについての情報を含む。結合およびアセンブリモジュール903はフラグメント解析モジュール902と連通して提供されており、ウェブページの第1レベルのフラグメントの完全なコンテンツを生成するレンダリングのレンダリング結果を結合するように構成されている。ウェブページのフラグメントはネストした形でキャッシュされている場合、この例示的な実施形態では、再帰的にウェブページの各フラグメントのHTMLコードを取得し、ウェブページの第1レベルのフラグメントを生成するHTMLコードを結合することができる。これはウェブページのフラグメントのネストしたキャッシング、およびフラグメントのネストしたキャッシング後の再帰的なレンダリングを実行することにより既存の技術の欠点を解決する。第7の例示的実施形態ウェブページのキャッシングの第2の例示的な方法に対応するものとして、本開示は図10に示す第7の実施形態によるウェブページキャッシング処理の装置をさらに提供する。装置はハードウェアおよび/またはソフトウェアで実装することができる1つまたは複数の機能モジュールを含むことができる。装置はウェブページのユニフォームリソースロケータURLを取得するためのURL収集サブモジュール1001を含む。テンプレート検索サブモジュール1002はウェブページのURLに基づいてウェブページのテンプレートを検索および取得するために提供されている。フラグメント情報取得サブモジュール1003はウェブページのテンプレートの第1レベルのフラグメントに対応するフラグメント名およびフラグメントパラメータを取得するために提供される。装置は第1レベルのフラグメントのフラグメント名およびフラグメントパラメータに基づいて第1レベルのフラグメントのHTMLコードおよびネスティング情報を引き続き取得するために使用される、ネスティング情報収集サブモジュール1004をさらに含む。本装置はまた、第1レベルのフラグメントがネスティング情報に基づいて第2レベルのフラグメントを含んでいるかどうかを判断するための再帰的なレンダリングサブモジュール1005を実装してもよい。その場合は、サブモジュール1005は第2レベルのフラグメントのための再帰的なレンダリングを実行する。再帰的なレンダリングは、処理されるフラグメントを超えるレベルのフラグメント内に処理されるフラグメントのためのプレースホルダを生成すること、および処理されるフラグメントのフラグメント名およびフラグメントパラメータに基づいて処理されるフラグメントのHTMLコードを取得することを含む。再帰的なレンダリングは処理されるフラグメントのHTMLコードにより処理されるフラグメントのプレースホルダを置換すること、および第2レベルのフラグメントが第3レベルのフラグメントを含んでいるかどうかを引き続き判断することをさらに含む。第2のフラグメントが第3レベルのフラグメントを含む場合は、Nが3より大きい整数である、Nレベルフラグメントがフラグメントを含んでいないと判断されるまで、再帰的なレンダリングは第3レベルのフラグメントのために実行される。第2レベルのフラグメントが第3レベルのフラグメントを含まない場合、レンダリングは終了する。クライアント表示サブモジュール1006がクライアントのウェブページの第1レベルのフラグメントの完全なコンテンツを表示するためにさらに提供されてもよい。図11はネスティング情報収集サブモジュール1004の1つの実装を示す。この実装では、キャッシング情報検索サブモジュール1101はコンフィギュレーションサーバ内で第1レベルのフラグメントのキャッシング情報を検索するために使用され、キャッシング情報はフラグメントをキャッシュする必要があるかどうかについての情報やキャッシュする必要のあるフラグメントのキャッシング継続時間を含む。判断サブモジュール1102はまた、現在時刻がキャッシング継続時間に達する前に第1レベルのフラグメントのキャッシング情報に基づいて第1レベルのフラグメントをキャッシュする必要があるかどうかを判断するために実装されている。最初のHTMLコード検索サブモジュール1103は判断サブモジュール1102の結果が肯定であるとき、第1レベルのフラグメントのフラグメントIDを取得するために第1レベルのフラグメントのフラグメント名およびフラグメントパラメータでハッシュ計算を実行するため、およびキャッシングシステムからフラグメントIDに対応する第1レベルのフラグメントのHTMLコードを見つけるために使用される。第2のHTMLコード検索サブモジュール1104はフラグメントIDに対応するHTMLコードを見つけるために、ウェブサーバのトランザクションシステムをトリガするために使用される。この例示的な実施形態はウェブページのネストしたフラグメントキャッシングを可能にするだけでなく、ウェブページのネストしたフラグメントキャッシングが実行されるときに再帰的に各フラグメントのHTMLコードを取得し、このようにユーザにウェブページの完全なコンテンツを表示し既存の技術の欠落を是正する。第8の例示的実施形態ウェブページのキャッシングの第3の例示的方法に対応するものとして、本開示は図12に示すように第8の実施形態によるウェブページキャッシング処理の装置をさらに提供する。この装置は見つけられたHTMLコードおよびフラグメントIDの対応関係をキャッシングシステム内にキャッシュするために使用される、キャッシングモジュール1201を含んでもよい。ハッシュ計算モジュール1202はまたフラグメントのコンテンツが変化したときにフラグメントのフラグメントIDを取得するために、フラグメントのフラグメント名やフラグメントパラメータでハッシュ計算を実行するために提供される。削除モジュール1203はフラグメントIDに基づいてキャッシングシステムからフラグメントIDに対応したHTMLコードを検索して削除するために使用される。キャッシングモジュール1204はまたキャッシングシステム内のフラグメントのHTMLコードに対応したヘッダの値をキャッシュするために含まれてもよい。第9の例示的実施形態ウェブページのキャッシングの第4の例示的方法に対応するものとして、本開示は図13に示す第9の実施形態によるウェブページキャッシング処理の装置をさらに提供する。この装置はウェブページのリクエストを受信するために使用されるウェブページリクエスト受信モジュール1301を含んでもよい。判断モジュール1302は要求されたウェブページのページキャッシングを実行するかどうかを判断するために含まれる。直接レンダリングモジュール1303は判断モジュール1302の結果が肯定である場合に、ウェブページのコンテンツを取得するためにウェブページを直接レンダリングするために使用される。ネストしたフラグメントキャッシング装置1304は判断モジュール1302の結果が肯定でない場合は、ウェブページの第1レベルのフラグメント情報を取得するために使用される。ネストしたフラグメントキャッシング装置1304は引き続き第1レベルのフラグメント情報に基づいて第1レベルのフラグメントのためのフラグメント解析プロセスを実行する。フラグメント解析プロセスは第1レベルのフラグメントの所定のネスティング情報に基づいて第1レベルのフラグメントをレンダリングすることを含み、ネスティング情報は現在のフラグメントが他のフラグメントを含んでいるかどうかについての情報、およびウェブページの第1レベルのフラグメントの完全なコンテンツを生成するためにレンダリングのレンダリング結果を結合することを含む。第10の例示的実施形態ウェブページキャッシングの第5の例示的方法に対応するものとして、本開示は図14に示す第10の実施形態によるウェブページキャッシング処理の装置をさらに提供する。図14に示す装置は図13に関連して上述の機能コンポーネントの多くを採用しているが、選択されたコンポーネントに関するより詳細な情報を提供する。図14の装置はウェブページのリクエストを受信するためのウェブページリクエスト受信モジュール1301を含んでいてもよい。装置はウェブページのURLを取得するためのキャッシング情報収集サブモジュール1401およびURLに基づいて所定のキャッシング情報を見つけるための検索サブモジュール1402を含む判断モジュール1302をさらに有していてもよい。キャッシング情報はウェブページのページキャッシングを実行するかどうかについての情報およびウェブページのキャッシング継続時間についての情報を含む。この実装では、直接レンダリングモジュール1303はキャッシング継続時間の満了前にウェブページのURLおよびウェブページパラメータから32桁のウェブページIDを生成するためのウェブページID生成モジュール1403を含むことができる。モジュール1303はまたキャッシングシステムからウェブページIDに対応したHTMLコードを検索するための最初のHTMLコード検索モジュール1404を実装することができる。直接レンダリングモジュール1303は、図13に関連して上述したように、ネストしたフラグメントキャッシング装置1304にさらに結合されている。本装置はウェブページIDに対応したHTMLコードを見つけるためにウェブサーバのトランザクションシステムをトリガするための第2のHTMLコード検索モジュール1405、およびキャッシングシステム内に見つけられたHTMLコードおよびウェブページIDとの対応関係をキャッシュするためのキャッシングモジュール1406をさらに含むことができる。第11の例示的実施形態ウェブページキャッシングの方法および装置に対応するものとして、本開示は第10の実施形態によるウェブページキャッシング処理のシステムをさらに提供する。システムは図1に示すクライアントおよびウェブサーバを含むことができる。このような状況の中で、クライアント101はウェブサーバ102にウェブページのリクエストを送信するように構成されている。ウェブサーバ102はキャッシング装置103を含む。キャッシング装置103は1つまたは複数の機能モジュールを実装する。一例として、キャッシング装置は図9に示すモジュールを実装している。これらのモジュールは、エレクトロニクス、ファームウェア、および/またはメモリに格納されプロセッサによって実行されるソフトウェアとして実装することができる。より具体的には、キャッシング装置103はウェブページのリクエストを受信したことに応答してウェブページの第1レベルのフラグメント情報を取得するように構成された収集モジュール901を含む。フラグメント解析モジュール902は第1レベルのフラグメント情報に基づいて、第1レベルのフラグメントのためにフラグメント解析プロセスを実行するために提供されている。フラグメント解析プロセスは第1レベルのフラグメントの所定のネスティング情報に基づいて、第1レベルのフラグメントをレンダリングすることを含み、ネスティング情報は現在のフラグメントが他のフラグメントを含んでいるかどうかについての情報を含む。結合およびアセンブリモジュール903はウェブページの第1レベルのフラグメントの完全なコンテンツを生成するレンダリングのレンダリング結果を結合するように構成されている。本開示はウェブページキャッシング処理のさらに別の例示的なシステムを提供する。図1に示すように、システムはクライアントおよびウェブサーバを含むことができ、クライアントがウェブサーバからウェブページを要求することができる。この実装では、ウェブサーバは図13に示すモジュールを実装したキャッシング装置を含む。これらのモジュールはエレクトロニクス、ファームウェア、および/またはメモリに格納されプロセッサによって実行されるソフトウェアとして実装することができる。したがって、この実装では、キャッシング装置はウェブページのリクエストを受信するためのウェブページリクエスト受信モジュール1301、および要求されたウェブページのページキャッシングを実行するかどうかを判断するための判断モジュール1302を含む。直接レンダリングモジュール1303は判断モジュールの結果が肯定である場合に、ウェブページのコンテンツを取得するためにウェブページを直接レンダリングするために含まれる。本装置は判断モジュールの結果が肯定でない場合に、ウェブページの第1レベルのフラグメント情報を取得するネストしたフラグメントキャッシング装置1304をさらに実装し、引き続き第1レベルのフラグメント情報に基づいて第1レベルのフラグメントのためのフラグメント解析プロセスを実行する。フラグメント解析プロセスは第1レベルのフラグメントの所定のネスティング情報に基づいて、第1レベルのフラグメントをレンダリングすることを含み、ネスティング情報は現在のフラグメントが他のフラグメントを含んでいるかどうかについての情報を含む。ネストしたフラグメントキャッシング装置1304はウェブページの第1レベルのフラグメントの完全なコンテンツを生成するレンダリングのレンダリング結果をさらに結合する。様々な例示的な実施形態が漸次本開示で説明されていることに留意されたい。各実施形態の主なポイントは他の例示的な実施形態とは異なる場合があり、例示的な実施形態の同一または類似の部分は互いに参照することができる。例示的な装置の説明は、これらの例示的な装置は例示的な方法の対応するものの実施形態に類似しているので比較的単純である。関連する詳細は例示的な方法の実施形態で見つけることができる。最後に、本明細書内での第1および第2のような任意の関連性用語は、別のエンティティから1つのエンティティを、または別の操作から1つの操作を区別することを意味していることが指摘されるべきであるが、任意の実世界での関係の存在、またはこれらのエンティティまたは操作間の順序を必ずしも要求する、もしくは意味するものではない。さらに、含む、有している、または任意の他の変形などの用語は非排他的に備えるを包含することを意図している。したがって、個別に特徴の集合を含むプロセス、方法、物品またはデバイスはそれらの特徴を含むことができるだけでなく、表示されていない他の特徴、またはこれらのプロセス、方法、物品またはデバイスのいずれかに固有の特徴を含むことができる。任意のさらなる制限を受けることなく、...を含むといったフレーズ内で定義された特徴はその特徴を列挙するプロセス、方法、物品またはデバイスが他の同等の特徴を有することができる可能性を除外するものではない。ウェブページキャッシング処理の方法、装置およびシステムは本開示で詳細に説明された。例示的な実施形態は本開示において本発明の概念および実装を説明するために用いられる。例示的な実施形態は本発明の方法および中心的な概念の理解を深めるためのみに使用される。この開示の概念に基づいて、当業者は例示的な実施形態および応用分野を変更することができる。概していえば、本開示の内容は開示された方法および装置に限定するものと解釈すべきではない。"