performance - sslcertificatechainfile - tomcat https not working
¿Qué debo hacer para que el contenido, como las imágenes servidas a través de HTTPS, se almacene en caché del lado del cliente? (7)
Estoy usando Tomcat como servidor e Internet Explorer 6 como navegador. Una página web en nuestra aplicación tiene alrededor de 75 imágenes. Estamos usando SSL. Parece ser muy lento al cargar todo el contenido. ¿Cómo puedo configurar Tomcat para que IE almacene en caché las imágenes?
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 que (probablemente) el navegador las guarde en caché.
75 imágenes parece 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 ser almacenadas en caché en algo así como google gears .
El 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 sensibles y se sirven a través de HTTP por esta misma razón.
¿Tal vez pueda agregar un servidor / subdominio adicional que proporcione las imágenes sin https?
Algunos navegadores almacenarán 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.
Por lo tanto, configure 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>
Si está publicando una página en lugar de https, deberá enviar todos los recursos estáticos o dinámicos incluidos a través de https (ya sea desde el 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 se escribirá en el disco de forma predeterminada por la mayoría de los navegadores y, por lo tanto, vive en la caché de la memoria de los navegadores, que es mucho más pequeña que la memoria caché del disco. Este caché también desaparece cuando la aplicación se cierra.
Una vez dicho todo esto, hay cosas que puede hacer para mejorar la capacidad de caché de los activos 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 tenga que verificar si la imagen ha cambiado entre páginas
<Location /images>
FileEtag none
ExpiresActive on
ExpiresDefault "access plus 1 month"
</Location>
En segundo lugar, y esto es específico de MSIE y Apache, la mayoría de las configuraciones apache ssl incluyen estas líneas
SetEnvIf User-Agent ".*MSIE.*" /
nokeepalive ssl-unclean-shutdown /
downgrade-1.0 force-response-1.0
Lo cual deshabilita 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á keepalives 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
Si muchas de esas 75 imágenes son íconos o imágenes que aparecen en cada página, puede usar sprites CSS para reducir drásticamente la cantidad de solicitudes HTTP y así cargar la página más rápido: