2011-08-06 13 views
4

mod_cacheの使用について考えています。しかし、Apacheがキャッシュしたいページ(phpによって生成されたもの)には通常、そのユーザーのログイン名( "あなたはログインしています...")が含まれています。だから私はすべてのユーザーのための単一のページをキャッシュすることはできません。Apache、mod_cache、Cookies

ログイン状態はCookieによって決まります。だから私は(PHPで)すべてのページに「Vary:Cookie」ヘッダーを含めることができたと思った。 RFC 2616の私の理解が正しいなら、これはApache(または他の)キャッシュアルゴリズムに、ユーザーエージェントによって送信された個々のCookie値ごとに別々のページをキャッシュするよう指示するはずです。

ブラウザでCookieが送信されないと(ユーザーがログアウトしている)、キャッシュされた応答は、Cookie:state = 89898XAAJ(ユーザーは「Jacob」としてログインしている) Cookie:state = XXAIU2389(ユーザーは 'Bob'としてログインしています)のリクエストに対するキャッシュレスポンスとは別に保持されます。後でユーザーが同じURLを要求してCookie:state = 89898XAAJを使用した場合、彼は「あなたはJacobとしてログインしています(他のキャッシュされていないもの)」という正しいページを提供します。

私の理解は正しいのですか?これはこのように動作するのでしょうか、ここで何か見落としていますか?

答えて

0

あなたが説明したアプローチが有効かどうかはわかりません。

そうでない場合は、Cookie値を書き換え条件で確認し、ユーザーとログイン状態に基づいてキャッシュされたアドレスにリダイレクトすることができます。

このページには、クッキーの値に基づいて書き換えについて説明します。

Check cookie and redirect with Apache

は、まあ
ジョー