2008-09-16 9 views

Respuesta

10

Si está publicando una página en https, deberá enviar todos los recursos estáticos o dinámicos incluidos a través de https (ya sea del mismo dominio u otro, también a través de https) para evitar una advertencia de seguridad en el navegador.

El contenido entregado a través de un canal seguro no será escrito en el disco de forma predeterminada por la mayoría de los navegadores y por lo tanto vive en la memoria caché de los navegadores, que es mucho más pequeña que en la memoria caché del disco. Este caché también desaparece cuando la aplicación se cierra.

Habiendo dicho todo eso, hay cosas que puede hacer para mejorar la capacidad de caché de los activos de SSL dentro de una única configuración de navegador. Para empezar, asegúrese de que todos sus activos tengan encabezados de Expiraciones y Control de caché razonables. Si tomcat está sentado detrás de apache, use mod_expires para agregarlos. Esto evitará que el navegador de tener que comprobar si la imagen ha cambiado entre las páginas

<Location /images> 
    FileEtag none 
    ExpiresActive on 
    ExpiresDefault "access plus 1 month" 
</Location> 

En segundo lugar, y esto es específico para MSIE y Apache, la mayoría de las configuraciones SSL de Apache incluyen estas líneas

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

que desactiva keepalive para TODOS los agentes de MSIE. En mi humilde opinión, esto es demasiado conservador, los últimos navegadores de MSIE que tuvieron problemas al usar SSL fueron las versiones 5.xy no parcheadas de 6.0 pre SP2, las cuales son muy poco comunes ahora. El siguiente es más indulgente y no desactivar los mensajes de actividad cuando se usa MSIE y SSL

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

Contenido servido a través de una conexión HTTPS nunca se almacena en caché en el navegador. No puedes hacer mucho al respecto.

Por lo general, las imágenes en su sitio web no son muy delicadas y se brindan a través de HTTP por este mismo motivo.

2

75 imágenes suena como mucho. Si se trata de una gran cantidad de imágenes pequeñas, hay maneras de agrupar muchas imágenes como si fueran una, puede ver si puede encontrar una biblioteca que lo haga. También es probable que forzar a las imágenes a guardarse en caché en algo como google gears.

-1

La primera respuesta es correcta: nada se almacena en caché cuando se usa HTTPS. Sin embargo, cuando construya su página web, puede considerar hacer referencia a las imágenes por sus URL individuales. De esta forma, puede especificar que las imágenes se originen a partir de una fuente HTTP, y el navegador las almacenará (probablemente).

5

Algunos navegadores almacenar en caché el contenido SSL. Firefox 2.0+ no almacena en caché recursos SSL en el disco de forma predeterminada (para mayor privacidad). Firefox 3+ no los almacena en el disco a menos que aparezca el encabezado Cache-control: public.

Establezca el encabezado Expires: correctamente y Cache-control: public. p.ej.

<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> 
-1

Tal vez pueda agregar un servidor/subdominio adicional que proporcione las imágenes sin https?

4

Si muchas de esas 75 imágenes son iconos o imágenes que aparecen en cada página, se pueden utilizar sprites CSS para reducir drásticamente el número de peticiones HTTP y así cargar la página más rápido:

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

Cuestiones relacionadas