Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[JS] image preload vergt dataverkeer

Pagina: 1
Acties:

  • jbweb
  • Registratie: Oktober 2004
  • Laatst online: 04-10-2023

jbweb

professional noob

Topicstarter
We hebben een site met een klein rotatie systeempje voor logo's.
Om de 5 seconden wordt het logo vernieuwd. Op dit moment zijn er 3 logo's maar deze zijn door klanten zelf uploadbaar.

Om dataverkeer te sparen preloaden we deze logo's op een (redelijk) standaard manier:
JavaScript:
1
2
3
4
5
6
7
imgLogo = new Array();
imgLogo[0] = new Image();
imgLogo[0].src = "images/logo1.png";
imgLogo[1] = new Image();
imgLogo[1].src = "images/logo2.jpg";
imgLogo[2] = new Image();
imgLogo[2].src = "logo3.gif";


Nu blijkt er iemand 24 uur per dag de homepage van deze site open te hebben (joost mag weten waarom) en dat zien we de afgelopen tijd in de dataverkeer :(
Via webalizer kunnen we zien dat de homepage 80% van de dataverkeer opvraagt en dat het verkeer 24 uur per dag hoog ligt.
Daarnaast staat in de apache logs steeds de URL van deze logo's.

Werkt de preload niet, iemand een idee?

Als ik een leuke signature bedenk, zijn jullie de eerste die het weten


Verwijderd

Controleer de HTTP headers die je webserver meestuurt. Als die niet helemaal lekker zijn, wil de user agent toch elke keer de laatste versie van het plaatje.

Op deze manier preloaden bespaart overigens helemaal geen dataverkeer.

  • jbweb
  • Registratie: Oktober 2004
  • Laatst online: 04-10-2023

jbweb

professional noob

Topicstarter
Verwijderd schreef op maandag 29 oktober 2007 @ 20:51:
Op deze manier preloaden bespaart overigens helemaal geen dataverkeer.
Zijn er manieren die wel dataverkeer bespraren?

[ Voor 25% gewijzigd door jbweb op 29-10-2007 21:02 ]

Als ik een leuke signature bedenk, zijn jullie de eerste die het weten


Verwijderd

Alleen de juiste headers meesturen, en hopen dat de clients zich daar een beetje aan willen houden.

  • jbweb
  • Registratie: Oktober 2004
  • Laatst online: 04-10-2023

jbweb

professional noob

Topicstarter
De juiste headers meesturen... graag...
uhhh... hoe doe ik dat? :o
vast een beetje onnozele vraag, maar heb niet echt een idee hoe dat te doen

Als ik een leuke signature bedenk, zijn jullie de eerste die het weten


  • krvabo
  • Registratie: Januari 2003
  • Laatst online: 15:16

krvabo

MATERIALISE!

jbweb schreef op maandag 29 oktober 2007 @ 21:02:
[...]


Zijn er manieren die wel dataverkeer bespraren?
<img src="bla" id="image1"><img src="bla2" id="image2"><img src="bla3" id="image3">

JavaScript:
1
2
3
document.getElementById('image1').style.display = none;
document.getElementById('image2').style.display = none;
document.getElementById('image3').style.display = block;

Zoiets. :)

Pong is probably the best designed shooter in the world.
It's the only one that is made so that if you camp, you die.


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:28
Dat zijn instellingen op de server. Dat hangt dus af van de Apache of IIS configuratie en is niet zozeer een programmeer probleem.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 19:45

TeeDee

CQB 241

Je zal een "HTTP/1.1 304 Not Modified" moeten verzenden. Hoe je dat in PHP via Apache doet mag je zelf uitvogelen ;)

[ Voor 7% gewijzigd door TeeDee op 29-10-2007 21:23 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:28
TeeDee schreef op maandag 29 oktober 2007 @ 21:14:
Je zal een "HTTP/1.1 304 Not Modified" moeten verzenden. Hoe je dat in PHP doet mag je zelf uitvogelen ;)
Je gaat toch niet je standaard afbeeldingen via PHP versturen hoop ik?!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 19:45

TeeDee

CQB 241

djluc schreef op maandag 29 oktober 2007 @ 21:21:
[...]
Je gaat toch niet je standaard afbeeldingen via PHP versturen hoop ik?!
Mjah, bedoel ook eigenlijk dat je dat in Apache moet regelen.

Edit: in IIS is het "Enable Content Expiration".

[ Voor 9% gewijzigd door TeeDee op 29-10-2007 21:24 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Marijn_S
  • Registratie: Februari 2001
  • Niet online
krvabo schreef op maandag 29 oktober 2007 @ 21:13:
[...]


<img src="bla" id="image1"><img src="bla2" id="image2"><img src="bla3" id="image3">

JavaScript:
1
2
3
document.getElementById('image1').style.display = none;
document.getElementById('image2').style.display = none;
document.getElementById('image3').style.display = block;

Zoiets. :)
Zou zeker deze methode doen. Dan heb je niet continue requests op de server, of hij nou gecached is of niet.

System specs - Ik word blij van knipperende lichtjes.


  • jbweb
  • Registratie: Oktober 2004
  • Laatst online: 04-10-2023

jbweb

professional noob

Topicstarter
"HTTP/1.1 304 Not Modified" klopt al in Apache, maar lijkt dus niet te werken.

Er zit denk ik niets anders op dan de oplossing van krvabo ;)

Als ik een leuke signature bedenk, zijn jullie de eerste die het weten


  • LauPro
  • Registratie: Augustus 2001
  • Laatst online: 12:59

LauPro

Prof Mierenneuke®

jbweb schreef op maandag 29 oktober 2007 @ 20:49:
Nu blijkt er iemand 24 uur per dag de homepage van deze site open te hebben (joost mag weten waarom)
Ik ben een van die users, mijn workstation staat 24/7 aan. En heb vaak zat 30+ sites open staan (in tabs) en die sluit ik echt niet allemaal als ik ga slapen of paar dagen weg ben. Kan maar zo zijn dat ik sommige sites weken op heb staan.

Verder is de oplossing via CSS het meest elegante denk ik, zijn ook al wel kant en klare scriptjes voor.

[ Voor 3% gewijzigd door LauPro op 30-10-2007 00:48 ]

Inkoopacties - HENK terug! - Megabit
It is a war here, so be a general!


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Wat doet dit in PRG?
PRG >> WEB

Waar hoort mijn topic?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1