タグ付けされた質問 「http-caching」


2
AppCache(Symfony2)で最初の応答がプライベートである場合は問題ありませんか?
httpキャッシングを使用しようとしています。私のコントローラーでは、次のように応答を設定しています。 $response->setPublic(); $response->setMaxAge(120); $response->setSharedMaxAge(120); $response->setLastModified($lastModifiedAt); 開発モード 開発環境では、最初の応答は次のヘッダーを持つ200です。 cache-control:max-age=120, public, s-maxage=120 last-modified:Wed, 29 Feb 2012 19:00:00 GMT 次の2分間、すべての応答は次のヘッダーを持つ304です。 cache-control:max-age=120, public, s-maxage=120 これは基本的に私が期待していることです。 製品モード 製品モードでは、応答ヘッダーが異なります。app.phpでは、カーネルをAppCacheでラップしていることに注意してください。 最初の応答は、次のヘッダーを持つ200です。 cache-control:must-revalidate, no-cache, private last-modified:Thu, 01 Mar 2012 11:17:35 GMT したがって、これはキャッシュなしのプライベートレスポンスです。 次のリクエストはすべて、私が期待するものとほぼ同じです。次のヘッダーを持つ304: cache-control:max-age=120, public, s-maxage=120 心配する必要がありますか?予想される動作ですか? VarnishまたはAkamaiサーバーをその前に置くとどうなりますか? 少しデバッグを行ったところ、ヘッダーが最後に変更されたため、応答はプライベートであることがわかりました。HttpCacheカーネルはEsiResponseCacheStrategyを使用して、キャッシュされた応答を更新します(HttpCache :: handle()メソッド)。 if (HttpKernelInterface::MASTER_REQUEST === $type) { $this->esiCacheStrategy->update($response); } …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.