0

プロファイルのユーザーページをキャッシュしようとしています。このために、私は使用します:

$response = new Response();
$response->setETag(md5($response->getContent()));

if ($response->isNotModified($this->getRequest())) {
    return $response;
}

ただし、$ this-> getRequest()-> getEtags()isNotModified関数で使用)は常に空であるため、アプリケーションはキャッシュを使用しません。設定したら

$response->setPublic()

大丈夫。では、プライベートコンテキストでキャッシュを使用するにはどうすればよいですか?

どうも !

4

1 に答える 1

0

Symfony 2 でプライベートレスポンスを使用すると、次のヘッダーが設定されます。

Cache-Control: private

HTTP 1/1 仕様によると:

プライベート

応答メッセージのすべてまたは一部が単一のユーザーを対象としており、共有キャッシュによってキャッシュされてはならないことを示します。これにより、オリジンサーバーは、応答の指定された部分が1人のユーザーのみを対象としており、他のユーザーによる要求に対する有効な応答ではないことを述べることができます. プライベート (非共有) キャッシュは、応答をキャッシュすることができます。

つまり、 でヘッダーを使用することはできませんETagCache-Control: private

于 2012-07-23T09:44:12.293 に答える