¿Cuál es la mejor manera de comprimir y almacenar en caché imágenes estáticas en Asp.net mvc?

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

Pregunta

Estoy tratando de encontrar la mejor manera de acelerar la entrega de las imágenes estáticas que componen el diseño de un sitio mvc.Las imágenes no están comprimidas con gzip ni almacenadas en caché en el servidor o en el cliente (con el contenido caducado).Las opciones son:

  1. Descubra por qué las imágenes no se almacenan en caché ni se comprimen directamente desde IIS6
  2. Escribe un controlador http especializado
  3. Registre una ruta especial para imágenes estáticas y escriba un método de resultado de acción binario

¿Cuál podría ser la mejor solución en términos de rendimiento?

¿Fue útil?

Solución

La mejor solución es dejar que IIS lo haga.

Compresión IIS6 - lo más probable es que necesites especificar los tipos de archivos que se van a comprimir como tipos .jpg, .png, .gif, etc.

El almacenamiento en caché provendrá de asegurarse de que se envíen los encabezados correctos al cliente desde el código, y creo que hay una configuración que puede configurar en IIS que lo habilita para contenido estático, pero no estoy seguro de eso.

Otros consejos

Seguramente la ganancia de comprimir la mayoría de las imágenes es insignificante ya que ya están comprimidas.

¿Quizás tienes algunos archivos PNG muy mal comprimidos o algo así?

Es posible que desees consultar el sitio de consejos de rendimiento de Google, que incluye algunos consejos útiles sobre optimizando imágenes incluyendo enlaces a utilidades como pngaplastar.

Es mucho mejor usar una utilidad de optimización de imágenes UNA VEZ que depender de IIS para comprimirlas (posiblemente de manera ineficiente) sobre la marcha.

Hay una buena biblioteca en MSDN Code Gallery que hace esto.Se llama rápidoMVC.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top