0

Web ページの最新バージョンを提供する asp.net mvc ページのキャッシュ メカニズムを実装することを考えていますが、ページが最後にキャッシュされてから変更されていない場合は、キャッシュされた結果が返されます。

ところで、OutputCacheAttribute キャッシングの制限はどのようなものなのだろうかと思います。多くの場所を使用できます - クライアント側、サーバー側、ダウン ストリーミング、任意 (デフォルト) など。クライアント側の制限が何であるかがわからないため、どちらが最速のオプションなのだろうか-キャッシュされたすべてのデータを保存できる場合、それが間違いなく最適なキャッシュ場所になると思います. では、それぞれの場所にどのようなデータを保存できるのでしょうか?

私が思いついた良いアイデアは、特定のアドレスの最後に表示されたページのバージョンを Cookie 内のハッシュとして保存することです。そのため、ユーザーがページを要求したときに、ハッシュが変更されていない場合は、キャッシュされた結果を彼に与えることができます。しかし、現在のページ ハッシュを計算すると、トラフィックを節約できる可能性がありますが、サーバーがリクエストを処理するのにまだ時間がかかるため、どのように実装するのが最適なのか、どのようにすれば最良の結果が得られるのかはまだわかりません。

これを可能な限り洗練された方法で実装するための洞察とアイデアの両方が素晴らしいでしょう.

4

1 に答える 1

0

あなたの考えは、http ETag ヘッダーと 304 not modified 応答 - http://en.wikipedia.org/wiki/HTTP_ETag#Typical_usageによく似ています。基本的に、プロトコルはすでにこれをサポートしているため、カスタム Cookie は必要ありません。

サーバーにほとんど影響を与えずにキャッシュされたバージョンを返すには、既に述べたように出力キャッシュ属性を使用します。

于 2012-09-30T07:43:02.033 に答える