私の MVC3 プロジェクトでは、一部のコントローラーに次のクラスレベルの属性を設定しています。
[OutputCache(Location = System.Web.UI.OutputCacheLocation.Server, Duration = 14400, VaryByParam = "*")]
期間 = 4 時間。
VaryByParam = "*"
代わりに、コントローラーのアクションメソッドに異なるパラメーターがあるため、 使用しましVaryByParam = "none"
た-これは正しい使用法ですか?
IIS では、サーバー レベルで、サイトのすべての web.config ファイルで、静的キャッシュを 8 日間に設定しました。
Fiddler でヘッダーを観察すると、検索結果ページに移動すると、次のように表示されます。
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: text/html; charset=utf-8
Expires: -1
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
X-AspNetMvc-Version: 3.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Thu, 15 Aug 2013 17:21:32 GMT
Content-Length: 148842
私のサイト スクリプト js ファイルの場合:
HTTP/1.1 200 OK
Cache-Control: max-age=691200
Content-Type: application/x-javascript
Last-Modified: Thu, 15 Aug 2013 05:35:35 GMT
Accept-Ranges: bytes
ETag: "10906a447999ce1:0"
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Thu, 15 Aug 2013 17:21:32 GMT
Content-Length: 2999
CSS の場合:
HTTP/1.1 304 Not Modified
Cache-Control: max-age=691200
Last-Modified: Wed, 07 Aug 2013 21:31:28 GMT
Accept-Ranges: bytes
ETag: "f08ce079b593ce1:0"
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Thu, 15 Aug 2013 17:21:33 GMT
Google の PageSpeed アフィリエイト ( http://www.webpagetest.org/ ) を使用して、自分のページで約 90/100 を得ることができました - ページの読み込み時間は約 4 秒です。ここに。Original vs. Optimized の WebPageTest でビデオを再生すると、オリジナルは 2.5 秒で終了し (速度指数が低くなります)、4.7 秒で最適化されます。
Google の PageSpeed Insights は、CSS 配信を最適化することを提案しています。私はすでに非同期で CSS を提供しています。
私は AWS でホスティングしているので、インスタンスのジュースを最も強力なサーバー インスタンスの 1 つにまで引き上げました。ページの読み込み時間は、通常のインスタンスとほぼ同じでした。
したがって、一番上の最初の結果である Cache-Control: no-cache に混乱しています。キャッシングを正しく実装していませんか?そうでない場合、何が欠けていますか?