Asp.net mvc で静的画像を gzip してキャッシュする最良の方法は何ですか

StackOverflow https://stackoverflow.com/questions/17057

質問

MVC サイトのデザインを構成する静的画像の配信を高速化する最善の方法を見つけようとしています。画像は gzip 圧縮されず、サーバーまたはクライアントにキャッシュされません (コンテンツの有効期限は切れます)。オプションは次のとおりです。

  1. 画像が IIS6 から直接キャッシュおよび gzip 圧縮されない理由を調べる
  2. 特殊な http ハンドラーを作成する
  3. 静的画像用の特別なルートを登録し、バイナリの actionresult メソッドを記述する

パフォーマンスの観点から最適なソリューションは何でしょうか?

役に立ちましたか?

解決

最善の解決策は、IIS にそれを行わせることです。

IIS6圧縮 - ほとんどの場合、そうする必要があります 圧縮するファイルの種類を指定する .jpg、.png、.gif タイプなど。

キャッシュは、コードから正しいヘッダーがクライアントに送信されていることを確認することで実現されます。静的コンテンツに対してキャッシュを有効にする設定が IIS にあると思いますが、それについてはわかりません。

他のヒント

ほとんどの画像は既に圧縮されているため、gzip 圧縮による利益は無視できる程度でしょうか?

もしかして、ひどく圧縮された PNG ファイルか何かをお持ちですか?

yahoo のパフォーマンス アドバイス サイトをチェックしてみるとよいでしょう。 画像の最適化 などのユーティリティへのリンクを含む pngcrush.

IIS に依存してその場で画像を圧縮する (おそらく非効率的) よりも、画像最適化ユーティリティを 1 回だけ使用する方がはるかに優れています。

MSDN コード ギャラリーには、これを行う優れたライブラリがあります。それは呼ばれています 高速MVC.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top