2010-01-20 31 views
5

Quando ho la stessa immagine utilizzata per elementi diversi (immagini sprite) di solito non richiamo quell'immagine perché questa è una nuova richiesta HTTP.Il browser memorizza nella cache le immagini di sfondo CSS?

Io invece uso:

element1 { 
    background: url(someImage.png); 
} 

element2 { 
    background-image: inherit; 
} 

Questo è l'richieste HTTP risparmio?

Oppure, se il browser è intelligente e posso usare:

element1 { 
    background: url(someImage.png); 
} 

element2 { 
    background: url(someImage.png); 
} 

è il browser sta per fare una nuova richiesta HTTP? O sa che ho già questa immagine memorizzata nella cache?

La domanda è: ottengo qualcosa utilizzando l'esempio 1?

+4

Dipende dal browser. – jball

risposta

5

Nello scenario che descrivi, il browser farà essenzialmente riferimento alla stessa immagine più volte su una pagina e questo sarà quasi sicuramente memorizzato nella cache.

In diverse pagine, la risposta dipende dal browser e nelle intestazioni di scadenza le mandate del server influiscono sul comportamento di memorizzazione nella cache in agenti conformi.

+0

così guadagno qualcosa dall'uso di background-image: inherit; '? – adardesign

+3

Oltre ad avere un aspetto peggiore per gli utenti di IE6 e IE7? Non proprio. E l'ereditarietà dovrebbe avere un effetto solo se il primo selettore di CSS è applicato agli elementi con il secondo; se non corrispondono a entrambi, o al primo, non ottieni nulla. – JasonTrue

4

Sì, i browser caricheranno il secondo riferimento alla stessa immagine nel file CSS dalla cache. Usando Firebug sarai in grado di vedere tutte le richieste HTTP fatte dal browser.

+0

così guadagno qualsiasi cosa dall'uso di background-image: inherit; – adardesign

+1

No, non fa differenza. – jeffreyveon

1

Se volete semplificare le cose e le risorse di cache e risparmiare larghezza di banda, allora si dovrebbe fare un file appcache.appcache nella root del tuo sito web. This link fornisce un tutorial su come creare un appcache. Salva le richieste http se l'utente visita il tuo sito più di una volta e salva su richiesta due volte la stessa immagine se già esiste nella cache.

Happy Caching!

Problemi correlati