2009-08-16 15 views
27

Estoy escribiendo una pequeña aplicación que sirve imágenes de la computadora local, por lo que se puede acceder como http://localhost:12345/something/something (que devuelve un archivo jpeg).Cómo forzar a un navegador web a almacenar en caché Imágenes

Cómo puedo obligar al navegador a almacenar en caché esto, por lo que solo se enviará una única solicitud al servidor. ¿Este encabezado sería suficiente?

HTTP/1.1 200 OK 
Cache-Control: public, max-age=99936000 
Content-Length: 123456 
Content-Type: image/jpeg 

Esto parece funcionar con Firefox 3.x, pero ¿sería suficiente a nivel mundial para otros navegadores también?

+0

Relacionados: Cómo forzar a un navegador web a no almacenar en caché las imágenes. http://stackoverflow.com/questions/126772/how-to-force-a-web-browser-not-to-cache-images –

Respuesta

-6

Usted no puede y ni se debe - esto es decisión del usuario para no hacer el suyo.

Lo que puede do es muy recomendable con los encabezados correctos, pero incluso entonces debe esperar tratar con una serie de solicitudes HEAD para siempre.

+3

En algunos casos donde el ancho de banda es un problema, debería hacerlo. – EaterOfCode

+17

Las respuestas donde el respondedor sugiere que no se debe hacer algo, en lugar de responder a la pregunta ... son las más desagradables. Añadir a eso, que esta es realmente una pregunta razonable. – whitehawk

+4

Intente decir eso cuando tenga una galería con 4,1 millones de imágenes con enlaces compartidos en diferentes sitios web. –

16

A Last-Modified y Expires encabezado también pueden ser adiciones útiles.

Su servidor también debe verificar las solicitudes con un encabezado If-Modified-Since, y devolver una respuesta 304 No modificada si es posible para acelerar las cosas.

Cuestiones relacionadas