2009-08-16 15 views
27

Sto scrivendo una piccola applicazione che serve immagini dal computer locale, quindi è possibile accedervi come http://localhost:12345/something/something (che restituisce un file jpeg).Come forzare un browser Web nella cache Immagini

Come posso forzare il browser a memorizzare nella cache, quindi solo una singola richiesta verrà inviata al server. Questa intestazione sarebbe sufficiente

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

Questo sembra funzionare con Firefox 3.x ma sarebbe sufficiente a livello globale anche per altri browser?

+0

Correlati: Come forzare un browser Web a NON memorizzare nella cache le immagini. http://stackoverflow.com/questions/126772/how-to-force-a-web-browser-not-to-cache-images –

risposta

-6

Non si può e non si dovrebbe - questa è la decisione dell'utente di non fare il vostro.

Che cosa è può può suggerire con le intestazioni giuste, ma anche in questo caso, è necessario prevedere di gestire un numero di richieste HEAD in seguito.

+3

In alcuni casi, dove la larghezza di banda è un problema, dovresti. – EaterOfCode

+17

Risposte in cui il rispondente suggerisce che non si dovrebbe fare qualcosa, piuttosto che rispondere alla domanda .. sono i più odiosi. Aggiungete a ciò, che questa è in realtà una domanda ragionevole. – whitehawk

+4

Prova a dire che quando hai una galleria con 4,1 milioni di immagini con collegamenti condivisi su diversi siti web. –

16

Un'intestazione Last-Modified e Expires potrebbe anche essere utile.

Il server deve anche verificare le richieste con un'intestazione If-Modified-Since e restituire una risposta 304 non modificata, se possibile, per accelerare le cose.

Problemi correlati