2009-09-23 4 views
5

J'utilise la barre d'outils WebDevHelper pour Internet Explorer pour résoudre les requêtes HTTP/allers-retours sur mon le site SSL et a remarqué que IE re-téléchargements mon CSS: hover images chaque fois ils sont déclenché. Cela provoque une énorme quantité de roundtrips.IE7 pas Mise en cache Image CSS sur SSL

Comment puis-je empêcher cela?

Edit: Tout le contenu statique est servi avec cache-control: publique, les images, javascript, etc. sont mises en cache dans Firefox et Chrome. Ce problème est spécifique à IE.

+0

Êtes-vous certain que cela ne se produit que sur SSL et ne se produit pas sur non Pages SSL? –

Répondre

0

Le contenu servi via SSL ne sera pas mis en cache pour des raisons de sécurité. Si vous voulez que quelque chose soit mis en cache, servez-le via HTTP.

+3

Ce n'est pas vrai en tant que déclaration générale. Firefox cache correctement (j'ai le cache-control: public sur tout le contenu statique), tout comme Chrome et Safari. – Alex

+3

ne pas server les ressources http sur une page https. Vous obtiendrez des erreurs laides qui vont faire peur aux utilisateurs. –

+4

Impossible de diffuser HTTP avec HTTPS sans avoir un tas d'erreurs à l'écran. –

0

Avez-vous essayé d'ajouter à l'en-tête pour ce type de fichiers statiques. Je sais que cela fonctionne avec IE pour permettre le stockage des cookies à travers des jeux de cadres et d'autres choses. Je ne sais pas si cela fonctionne avec des fichiers statiques sous HTTPS.

+0

Essayé, toujours obtenir des re-demandes pour toutes les images. Ce qui est vraiment désagréable si vous avez une combinaison de 3 images (off/on/hover). – Alex

2

Servir du contenu statique via http, bien sûr, mais ne faites pas d'images séparées pour: les états hover. Les sprites d'image css appropriés doivent être utilisés. C'est juste une bonne pratique tout autour, via https ou http. Il y a des tonnes de ressources disponibles pour créer des sprites. Supposément SpriteMe, [http://spriteme.org/] est une tentative d'automatisation de la création d'image-objet d'image css.

+1

Je ne peux pas diffuser de contenu statique via http dans un environnement https. Cela crée l'avertissement "contient un contenu insécurisant". – Alex

+0

Je dirais que votre meilleur pari est de créer des sprites css! Vous réduirez également les requêtes http sur tous les navigateurs. – jasonevers

1

Eh bien, il existe de nombreux problèmes selon les autres publications Stackoverflow. FireFox 2.x a également ce problème. Mais FireFox 3.x ne fonctionne pas.

Will web browsers cache content over https

également dans Internet Explorer, vous allez dans Outils> Options Internet> onglet Avancé> section Sécurité> Ne pas enregistrer les pages cryptées sur le disque. Il semble être décoché par défaut dans IE6, 7 et 8.

0

Je sais que cela semble étrange ... essayez de mettre une URL à quelque chose qui n'existe pas (erreur 404). après cela, tout le reste des images sera mis en cache.