0

IIS Express で実行されている小さな ASP.NET Web プロジェクトで YSlow パフォーマンス テストを実行しています。最適化が必要だと思われる 2 つの項目が残っています。

1. Expires ヘッダーを追加する

favicon.ico に有効期限を設定する必要があります。これどうやってするの?

ここに画像の説明を入力

2. プライミングされたキャッシュ

統計タブを見ると、HTML がキャッシュされていないことに気付きました。HTML をキャッシュして、6,7K が 2 回目にダウンロードされないようにするにはどうすればよいですか? プライミングされたキャッシュでファビコンが要求されるのはなぜですか?

ここに画像の説明を入力

4

1 に答える 1

1

ファビコン:

これを web.config ファイルに追加します。

<configuration>
  <location path="favicon.ico">
    <system.webServer>
      <staticContent>
        <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="90.00:00:00" />
      </staticContent>
    </system.webServer>
  </location>
</configuration>

HTML キャッシュ:

ブラウザーは、サーバー応答の応答ヘッダーに基づいてページをキャッシュします。ページのコンテンツが一定期間変更されず、ユーザーが一定期間内にこのページに再度アクセスする場合にのみ、ブラウザーにページをキャッシュするように要求する必要があります。

次のようなものを使用してキャッシュヘッダーを設定します。

Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetMaxAge(new TimeSpan(1, 0, 0));

ブラウザ キャッシュの概要については、 W3C の http キャッシュ仕様を参照することをお勧めします。

また、キャッシュを使用している場合、一部のブラウザは、最後にファイルを取得してからファイルが変更されたかどうかをサーバーに尋ねます (" If-Modified-Since" ヘッダー)。ファイルが変更されていない場合は、304 ステータス コードで応答できます。

于 2013-05-20T03:36:43.423 に答える