2

AJAXサーバー呼び出しの最後に乱数を追加すると、データベースサーバーまたはブラウザー(どちらが意図されているかは完全にはわかりません)のキャッシュをどのように防ぐことができますか? なぜこれが機能するのですか?

4

3 に答える 3

4

クライアント側 (またはリバース プロキシ) のキャッシュを防止することを目的としています。

リクエストにランダムな要素を追加することにより、キャッシュは正確なリクエストにキー付けされるため、正確なリクエスト URL が 2 回表示されることはありません。したがって、複数回使用されることはなく、インテリジェントなキャッシュは、少なくとも一度も見られたことのないものを、少なくとも長い間保持する必要はありません。

于 2012-06-19T18:02:18.137 に答える
2

これは、ブラウザー (および妥当な量の Web プロキシ) が要求をキャッシュしないようにするためです。通常、クエリ パラメータ (?rand2024= など) は、ブラウザ/プロキシに、アプリケーションに異なる動作をさせるパラメータを指定して、以降のリクエストを送信するように指示します。そのため、このようなリクエストはキャッシュのバストに役立ちます。

于 2012-06-19T18:00:48.933 に答える
0

ブラウザーは、URL の正確なテキストをキーとする Web ページをキャッシュするため、乱数パラメーターを追加すると、URL が毎回異なることが保証されます。したがって、実際のキャッシュは行われません。お使いのブラウザーは、サーバーが (うまくいけば) このパラメーターを無視していることを知りません。

于 2012-06-19T18:03:40.033 に答える