Quelle est la meilleure façon de compresser et de mettre en cache des images statiques dans Asp.net mvc

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

Question

J'essaie de trouver le meilleur moyen d'accélérer la livraison des images statiques qui composent la conception d'un site mvc.Les images ne sont ni compressées, ni mises en cache sur le serveur ou sur le client (avec expiration du contenu).Les options sont :

  1. Découvrez pourquoi les images ne sont pas mises en cache et compressées directement depuis IIS6
  2. Écrire un gestionnaire http spécialisé
  3. Enregistrez un itinéraire spécial pour les images statiques et écrivez une méthode de résultat d'action secondaire

Quelle pourrait être la meilleure solution en termes de performances ?

Était-ce utile?

La solution

La meilleure solution est de laisser IIS le faire.

Compression IIS6 - il est très probable que vous en ayez besoin spécifier les types de fichiers à compresser comme les types .jpg, .png, .gif, etc.

La mise en cache consistera à s'assurer que les en-têtes corrects sont envoyés au client à partir du code, et je pense qu'il existe un paramètre que vous pouvez définir dans IIS qui l'active pour le contenu statique, mais je n'en suis pas sûr.

Autres conseils

Le gain en compressant la plupart des images est sûrement négligeable puisqu'elles sont déjà compressées ?

Peut-être avez-vous des fichiers PNG vraiment mal compressés ou quelque chose comme ça ?

Vous voudrez peut-être consulter le site de conseils en performances de Google, qui comprend des conseils utiles sur optimisation des images y compris des liens vers des utilitaires tels que pngécraser.

il est bien préférable d'utiliser un utilitaire d'optimisation d'images UNE FOIS que de compter sur IIS pour les compresser (peut-être de manière inefficace) à la volée.

Il existe une belle bibliothèque sur la galerie de codes MSDN qui fait cela.C'est appelé RapideMVC.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top