Qual é a melhor maneira de gzipar e armazenar em cache imagens estáticas no Asp.net mvc

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

Pergunta

Estou tentando encontrar a melhor forma de agilizar a entrega das imagens estáticas que compõem o design de um site mvc.As imagens não são compactadas, nem armazenadas em cache no servidor ou no cliente (com conteúdo expirado).As opções são:

  1. Descubra por que as imagens não são armazenadas em cache e compactadas diretamente do IIS6
  2. Escreva um manipulador http especializado
  3. Registre uma rota especial para imagens estáticas e escreva um método binário de ação e resultado

Qual poderia ser a melhor solução em termos de desempenho?

Foi útil?

Solução

A melhor solução é deixar o IIS fazer isso.

Compressão IIS6 - provavelmente você precisa especifique os tipos de arquivo a serem compactados como tipos .jpg, .png, .gif, etc.

O cache virá da garantia de que os cabeçalhos corretos estão sendo enviados ao cliente a partir do código, e acredito que há uma configuração que você pode definir no IIS que permite conteúdo estático, mas não tenho certeza disso.

Outras dicas

Certamente o ganho de compactar a maioria das imagens é insignificante, uma vez que elas já estão compactadas?

Talvez você tenha alguns arquivos PNG muito mal compactados ou algo assim?

Você pode conferir o site de conselhos de desempenho do Google, que inclui algumas dicas úteis sobre otimizando imagens incluindo links para utilitários como pngcrush.

é muito melhor usar um utilitário de otimização de imagem UMA VEZ do que confiar no IIS para compactá-las (possivelmente de forma ineficiente) em tempo real.

Há uma ótima biblioteca na Galeria de Códigos do MSDN que faz isso.É chamado FastMVC.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top