Toon posts:

[cache] Cache leegmaken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb nu een script dat kijkt of een site up of niet is.

Dat doet hij door te kijken of blaat.gif zich op de andere site/server bevind.

Zo ja, is hij up, zo nee, is hij down.

Nu is er 1 probleem, nu cached hij dat plaatje waardoor het lijkt alsof die site altijd up is, wat hij niet is (ik test het op mijn ftpserver die ik telkens aan/uit doe.

Hoe zorg ik dat dat plaatje uit de cache gaat, of nog beter, voorkomen, hoe voorkom ik dat dat plaatje in de cache gaat?

K snap er maar weinig van, of is dit mission inposible?

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

no cache header opgeven
code:
1
<meta http-equiv="Pragma" content="no-cache;">

Doet iets met Cloud (MS/IBM)


Verwijderd

Wat je nu zegt hoort gewoon niet zo te zijn, aangezien zelfs als een file gecachet is, de browser nog steeds moet kijken of er inmiddels geen andere versie van het gecachete bestand op de server staat.

D2k had gelijk wat header betreft, ware het niet dat volgens mij die HTML tag slechts op het HTML bestand zelf slaat, en niet de afbeeldingen, scripts en stylesheets waarnaar gelinkt wordt.

Wellicht kun je je webserver configureren om bij bepaalde bestanden of directories automatisch die no-cache header mee te sturen.

Ik vermoed echter dat het misgaat doordat je linkt via het ftp protocol, en dat er daarom andere headers verstuurd worden dan je verwacht. Daar kan ik je echter niet veel over vertellen, wellicht dat iemand anders het weet?

De beste oplossing voor dit soort problemen is trouwens on de server te laten pingen, of een request laten doen naar de andere server.

Verwijderd

Topicstarter
Op zaterdag 06 juli 2002 18:29 schreef Cheatah het volgende:
Wat je nu zegt hoort gewoon niet zo te zijn, aangezien zelfs als een file gecachet is, de browser nog steeds moet kijken of er inmiddels geen andere versie van het gecachete bestand op de server staat.

D2k had gelijk wat header betreft, ware het niet dat volgens mij die HTML tag slechts op het HTML bestand zelf slaat, en niet de afbeeldingen, scripts en stylesheets waarnaar gelinkt wordt.

Wellicht kun je je webserver configureren om bij bepaalde bestanden of directories automatisch die no-cache header mee te sturen.

Ik vermoed echter dat het misgaat doordat je linkt via het ftp protocol, en dat er daarom andere headers verstuurd worden dan je verwacht. Daar kan ik je echter niet veel over vertellen, wellicht dat iemand anders het weet?

De beste oplossing voor dit soort problemen is trouwens on de server te laten pingen, of een request laten doen naar de andere server.
Ik snap je helemaal, maar over dat laatste, hij stuurt eigenlijk al een request (als in, stuur mij dat plaatje eens).

Ik zal wat functie's uitproberen , en hier te rapporteren!

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 22:57

RM-rf

1 2 3 4 5 7 6 8 9

de slimste methode zonder serverside httpd.confs te moeten doorpluizen en mogelijk een extra module te moeten installeren (apache heeft een extra module voor cache-control van statische bestanden, die niet default is) is:

simpel het plaatje met een extra random GET-variabele op te roepen, of een tellertje aan deze variabele te koppelen:
code:
1
2
3
var tellertje = 0
img = new Image()
img.src = 'plaatje.gif?'+(tellertje++)

door de extra waarde zal het plaatje iedere maal opnieuw gerequest worden.

wil je het toch via echte cache-control zal je dit in de http-header van het plaatje moeten doorgeven, dat kan door dit plaatje via een scriptingtaal te laten genereren, of .htaccess of de server-config.
maar de eerste methode lijkt me beter.

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:15

crisp

Devver

Pixelated

De beste manier om caching te omzeilen is door het plaatje telkens anders aan te roepen:
code:
1
2
3
var checkIMG = new Image();
var timestamp = new Date();
checkIMG.src = 'blaat.gif?'+timestamp.valueOf();

Intentionally left blank

Pagina: 1