2012-08-01 8 views
23

Burada açıklanması zor ama nedenleri zor olduğu için, hem bir tam olarak yerleştirilmiş görüntü hem de bir arka plan görüntüsünü div üzerinde ayarlıyorum.Tarayıcı, bir görüntünün src'sinde ve div'in arka plan görüntüsünde kullanıldığında görüntüyü iki kez indirir mi?

Tarayıcının bu görüntüleri yakaladığında (çok büyük oldukları) bunları tekrar yakalamadığından emin olmak istiyorum.

Resimde görüntünün bg.jpg kodunu görüyorsanız aşağıdaki kod 500KB'dir. Aşağıdaki kod, tarayıcının görüntüyü toplamda 1000 KB için iki kez indirmesine neden oluyor mu?

<style> 
    header { 
     background: url(img/bg.jpg) center center fixed transparent; 
    } 
</style> 

<header> 
    <img src="img/bg.jpg" width="500" height="500"> 
</header> 

DÜZENLEME: En mükemmel cevaplar için teşekkür ederiz. Sadece iki kez kontrol etmek istedim ve kullanıcının bu çok büyük görüntüleri yeniden indirmemesine neden olmadığından emin olmak istedim.

+0

başlık değerlerinin bu tür bakmak ve web kadar iyi ölçekler yüzden .. sizin için malzeme dönecektir önbelleklere bir demet, oluşur Bir kez indirir ve nakit olarak koyacağız. İkinci görüntü nakit olarak alınacaktır. –

+2

@ MiljanPuzović Sadece doğruluk uğruna, "önbellek" demek değil "nakit" demek – binaryfunt

+2

@BrianFunt Teşekkürler, bu 3 yıl önce, benim ingilizcem korkunçtu :) –

cevap

27

Tarayıcılar önbellekleme konusunda oldukça akıllıdır. Sadece bir kez sormalıdır.

Ayrıca, bir görüntü için sunucudan sorulduğunda, genellikle görüntü için istekte bulunur, sunucuyu anlatan birkaç başlık var .. Hey, bu resmi istiyorum, ancak bu özelliklere sahip bir tane var Bana en son ne zaman anlattığını söyledin. Bu yöntemlerden

sunucu o zaman aynıdır sahip birini anlamı farklı içerik 304 olduğu anlamına bir 200 ile yanıt verebilir, bu yüzden kaybettiğini, tekrar göndermesinin kullanmaz ..

Bir ETAG header kullanıyor, ancak birkaç tane daha var.

Sunucunuzun bunu desteklemesi gerekiyor, ancak çoğu bunu yapıyor.

Ayrıca, interweb öyle düşünüyorum da ;-)

3

Hayır, tarayıcı bunu önbelleğe alır. Bununla birlikte, kullanıcının ayarına bağlı olarak, tarayıcı, örneğin sayfa ziyaretleri arasında önbelleğini temizlerse, örneğin bir sonraki sayfada yer alan görüntüyü tekrar talep edebilir.

+0

bununla birlikte geçerliliğini kontrol etmek için başka bir 'http' isteği yapar eğer yanılmıyorsam önbelleğin. – bPratik

+1

@bPratik - tarayıcı istekte bulunmadan önce önbelleği denetlemez. – j08691

+0

http://developer.yahoo.com/performance/rules.html/#js_dupes adresinden aşağıdaki alıntılara göz atın. Aynı mantık diğer statik içerik için geçerli değil mi? _ "Gereksiz HTTP istekleri Internet Explorer'da gerçekleşir, ancak Firefox'ta olmaz. Internet Explorer'da, harici bir komut dosyası iki kez eklenirse ve önbelleğe alınamazsa, sayfa yükleme sırasında iki HTTP isteği oluşturur. Komut dosyası önbelleğe alınabilir olsa bile, fazladan HTTP istekleri kullanıcı sayfayı yeniden yüklediğinde ortaya çıkar. "_ – bPratik

2

Hayır, bir kez indirir ve tarayıcı önbelleğine yerleştirilir. Bir sonraki URL'ye başvurulduğunda, görüntü sunucudan alınmak yerine önbellekten görünecektir.

İlgili konular