Was muss ich tun, Inhalt zu machen, wie Bilder HTTPS-Client-Seite im Cache gespeichert werden serviert auf?

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

  •  09-06-2019
  •  | 
  •  

Frage

Ich bin mit Tomcat als Server und Internet Explorer 6 als Browser. Eine Web-Seite in unserer App hat etwa 75 Bilder. Wir verwenden SSL. Es scheint bei Laden alle Inhalte sehr langsam. Wie kann ich konfigurieren Tomcat so dass IE die Bilder speichert?

War es hilfreich?

Lösung

Wenn Sie eine Seite über https dienen dann müssen Sie alle enthalten statische oder dynamische Ressourcen dienen über https (entweder aus der gleichen Domäne oder einer anderen Domäne, auch über https) eine Sicherheitswarnung im Browser zu vermeiden .

Content über einen sicheren Kanal geliefert wird standardmäßig nicht von den meisten Browsern auf die Festplatte geschrieben werden, und lebt so in den Browser Cache-Speicher, der viel kleiner ist als die auf Festplatten-Cache. Dieser Cache auch verschwindet, wenn die Anwendung beendet wird.

all das Having said gibt es Dinge, die Sie die cachability für die SSL-Assets in einer einzigen Browser-Einstellung zu verbessern, tun können. Für den Anfang, stellen Sie sicher, dass alle Sie Vermögenswerte angemessen Verfällt und Cache-Control-Header. Wenn Kater hinter Apache sitzen dann mod_expires verwenden, um sie hinzuzufügen. Dadurch wird vermieden, um den Browser zu überprüfen, die, wenn das Bild zwischen den Seiten

geändert hat
<Location /images>
   FileEtag none
   ExpiresActive on
   ExpiresDefault "access plus 1 month"
</Location>

Zweitens, und das ist spezifisch für MSIE und Apache, die meisten Apache-ssl configs sind diese Zeilen

SetEnvIf User-Agent ".*MSIE.*" \
     nokeepalive ssl-unclean-shutdown \
     downgrade-1.0 force-response-1.0

Welche Keep-Alive für ALLE MSIE Agenten deaktiviert. IMHO dies viel zu konservativ ist, werden die letzten Browser MSIE Probleme haben mit SSL waren jetzt 5.x und ungepatchte Versionen von 6.0 vor SP2, beide sind sehr selten. Im Folgenden ist milderen und wird nicht Keep Alive deaktivieren bei der Verwendung von MSIE und SSL

BrowserMatch "MSIE [1-4]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [5-9]" ssl-unclean-shutdown

Andere Tipps

Einige Browser SSL-Inhalte zwischenzuspeichern. Firefox 2.0+ keine SSL-Ressourcen auf der Disk standardmäßig (für mehr Privatsphäre) zwischenzuspeichern. Firefox 3+ sie nicht, es sei denn der Cache-Steuerung auf der Platte zwischenspeichert. Öffentlich-Header erscheint

So stellen Sie die Gültig bis: Header richtig und Cache-control: public. z.

<Files ~ "\.(gif|jpe?g|png|ico|css|js|cab|jar|swf)$">
        # Expire these things
        # Three days after access time
        ExpiresDefault  "now plus 3 days"
        # This makes Firefox 3 cache images over SSL
        Header set Cache-Control public
</Files>

Wenn viele dieser 75 Bilder Symbole oder Bilder, die auf jeder Seite angezeigt wird, können Sie CSS-Sprites verwenden, um drastisch die Anzahl der HTTP-Anfragen zu reduzieren und damit die Seite schneller geladen werden:

http://www.alistapart.com/articles/sprites/

75 Bilder klingen wie eine Menge. Wenn es eine Menge von kleinen Bildern ist, gibt es Möglichkeiten viele Bilder als eine Bündelung, können Sie sehen, ob Sie eine Bibliothek finden können, der das tut. Auch können Sie wahrscheinlich die Bilder zwingen, zwischengespeichert werden, in so etwas wie Google Gears .

Content diente eine HTTPS-Verbindung über wird nie gecached im Browser. Sie können viel über es nicht tun.

Normalerweise Bilder in Ihrer Website sind nicht sehr empfindlich und werden über HTTP aus diesem Grunde bedient.

Die erste Antwort ist richtig, dass nichts im Cache gespeichert wird, wenn HTTPS verwenden. Wenn Sie jedoch Ihre Web-Seite bauen, können Sie durch ihre individuelle URL verweisen die Bilder betrachten. Auf diese Weise können die Bilder als von einer HTTP-Quelle angeben, und sie werden (wahrscheinlich) vom Browser cache'd werden.

Vielleicht können Sie einen zusätzlichen Server / Sub-Domain hinzufügen, die die Bilder ohne https?

bietet
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top