Unieke pagina aanroepen

Pagina: 1
Acties:

  • orange.x
  • Registratie: Maart 2002
  • Laatst online: 18-11 13:47
Ik kon na 2 minuten denken niet met een helderdere (?) titel komen voor mijn probleem :)

Anyweg. Ik heb een probleempje met IE. Wanneer ik via een form een plaatje opnieuw upload, onder dezelfde naam als de oude, dan snapt IE niet dat ie het vorige plaatje uit de cache moet halen of gewoon de pagina hard moet refreshen bij het uploaden van het plaatje. Volgens mij doet FF dat in ieder geval wel.

Nu heb ik een AJAX voorbeeldje waarbij ik voorheen hetzelfde probleem had, maar met de request die ik daar deed ( http.open("GET", "validate.php?name=" + user + "&t=" + tijd, true); ) nam ik de datum en tijd van het moment van klikken mee zeg maar. Dus dan heb je altijd een unieke aanroep van je pagina. In mijn validate geval ging het erop dat als ik via een andere pagina een wijziging doorvoerde ik die in IE ook niet gelijk zag, dus vandaar de toevoeging van de datum, zodat de validate.php altijd uniek aangevraagd werd en het wel goed ging.

Nou, mensen die het tot hier snappen, MOOI! Nu wil ik dus eigenlijk hetzelfde alleen met een kleine maar. Ik heb mijn site zo opgezet dat ik van die mooie linkjes heb en dus ook in mijn CMS. Nu kan ik het probleem oplossen door heel lelijk te zeggen:

<a href="cms/actie/2/inputdatumtijd">bla</a>

Maar dat wil ik niet omdat het er niet echt top uitziet ofzo. Zijn hier andere manieren voor? Gezien mijn rare probleem weet ik ook niet helemaal hoe ik nou op google tekeer kan gaan :D

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Al eens gewoon gekeken naar de HTTP cache headers die je webserver stuurt? En (evt.) de ETag?

[ Voor 25% gewijzigd door RobIII op 27-06-2008 21:32 ]

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


Verwijderd

Wat een onzin om te zeggen dat je dat niet wilt omdat je het niet mooi vindt staan. De enige garantie die je hebt dat er niet gecachet wordt is om unieke URI's te gebruiken. Wil je die garantie wel of niet?

  • orange.x
  • Registratie: Maart 2002
  • Laatst online: 18-11 13:47
Heb net even ingelezen op dat artikel, en geprobeerd die metatags toe te voegen, in 1e instantie leek hij te werken, want de eerste keer nadat ik em opgeslagen had en weer een foto verving liet hij wel de goede zien. Echter wanneer ik een andere foto verving ging hij weer helemaal de boot in.

Vanuit mijn cms.php laad ik alle functies etc in, dus moet ik daar in de header die tags toevoegen. Heb verschillende geprobeerd maar ze werken op het moment geen van allen
code:
1
2
3
<META Http-Equiv="Cache-Control" Content="no-cache">
<META Http-Equiv="Pragma" Content="no-cache">
<META Http-Equiv="Expires" Content="0">


@Cheatah, ik begrijp wel dat ik een zeur ben, maar als het niet hoeft zou het toch juist een mooie oplossing zijn, ik vroeg mij gewoon af of het mogelijk was. Ik snap wel dat het natuurlijk DE garantie is als je de datum en de tijd er gewoon ingooit, ik bedoel, unieker kan niet.

Verwijderd

Caching is een enorme bitch als er iets niet exact werkt zoals je wilt. Bij een CMS wil je praktisch nooit dat er gecachet wordt, dus zou je de datum van laatste wijziging in de URL moeten opnemen. Dat in verband met proxy servers en dergelijke. Zelfs al tackel je het probleem in de 3 meestgebruikte browsers, er is maar één universele oplossing die garanties kan bieden. Ik vind je argument om het niet te willen gewoon niet goed genoeg.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
orange.x schreef op vrijdag 27 juni 2008 @ 22:11:

Vanuit mijn cms.php laad ik alle functies etc in, dus moet ik daar in de header die tags toevoegen. Heb verschillende geprobeerd maar ze werken op het moment geen van allen
code:
1
2
3
<META Http-Equiv="Cache-Control" Content="no-cache">
<META Http-Equiv="Pragma" Content="no-cache">
<META Http-Equiv="Expires" Content="0">
Waarom stuur je die dingen niet met headers :?

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


  • orange.x
  • Registratie: Maart 2002
  • Laatst online: 18-11 13:47
RobIII schreef op vrijdag 27 juni 2008 @ 22:21:
Waarom stuur je die dingen niet met headers :?
Net geprobeerd. En weer de eerste keer succesvol, daarna niet meer :)

PHP:
1
2
3
4
5
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache");


Zit denk ik niets anders op dan toch maar de datum en tijd mee te nemen in de URL.

@Cheatah: Dat er nu toevallig maar 1 manier is tot daar aan toe. Maar als er dan 2 waren geweest waarbij er eentje visueel aanwezig was en de andere niet, dan was mijn argument wel gegrond? Kijk, dat iemand een bepaald idee heeft over hoe het functioneert of zou moeten functioneren maakt het niet het beste idee. Aangezien er nu eigenlijk maar een oplossing is dan zit er niets anders op natuurlijk. Maar als ik niet weet welke opties ik heb naast mijn zelfverzonnen ( blijkbaar toevallig ook de enige ) manier, vind ik mijn vraag, of mijn argument, helemaal niet zo stom.

[ Voor 30% gewijzigd door orange.x op 27-06-2008 22:31 ]


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

orange.x schreef op vrijdag 27 juni 2008 @ 22:25:
[...]

Net geprobeerd. En weer de eerste keer succesvol, daarna niet meer :)

PHP:
1
2
3
4
5
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache");
Overschrijf je nu niet de Cache-Control header? :? Dat het daardoor misschien niet werkt? :)

  • orange.x
  • Registratie: Maart 2002
  • Laatst online: 18-11 13:47
GJ-tje schreef op vrijdag 27 juni 2008 @ 22:33:
[...]
Overschrijf je nu niet de Cache-Control header? :? Dat het daardoor misschien niet werkt? :)
Ik heb ze ook los van elkaar geprobeerd, was even het rijtje wat ik heb geprobeerd.
De expire date werkte dus weer even een keer, maar vervolgens niet meer. Opzich wel een apart gevalletje, zeker als het bij anderen wel zou werken dan zeg maar.

Nou... Ik weet niet of het te maken heeft met het feit dat ik dit op mijn PC met Apache draai of dat het nog uitmaakt of het op het internet draait... Maar ik voegde net de datum toe aan het eind, en had mijn .htacces etc goed gezet. Wederom de eerste keer dat ik een foto verving ging het goed. Deed ik het nog een keer liet hij alweer de oude zien... Ik snap er ff niets van. Even online knallen die hap!

[ Voor 31% gewijzigd door orange.x op 27-06-2008 23:09 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Test je in IE of in FF? Want IE wil cache instructies nog wel eens negeren (eens iets gecached is). Als je je cache leeg mikkert voorsdat je gaat testen, lukt het dan wel? En inderdaad, die "Cache-control:" moet je (bij mijn weten) samenvoegen op 1 regel.

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


  • orange.x
  • Registratie: Maart 2002
  • Laatst online: 18-11 13:47
RobIII schreef op vrijdag 27 juni 2008 @ 23:13:
Test je in IE of in FF? Want IE wil cache instructies nog wel eens negeren (eens iets gecached is). Als je je cache leeg mikkert voorsdat je gaat testen, lukt het dan wel? En inderdaad, die "Cache-control:" moet je (bij mijn weten) samenvoegen op 1 regel.
Ik test in IE omdat die volgens mij dat probleem geeft, zal ff in FF kijken. Maar ik heb het net ook even getest met een datum achter de complete URL zeg maar, die dus altijd uniek is. Maar met IE deed ie dat ook 1x goed, en daarna niet meer.

Mmmm, morgen maar eens verder kijken, ik snap er niets meer van.
Via localhost getest met IE, FF en Opera, allemaal zelfde probleem. Online dus ook. Heb de datum nu even in het hele traject toegevoegd, maar blijft toch gebruik maken van de oude foto's...

Heb op het moment dus geen meta tags in gebruik, kan dat nog even testen.. > Ook niet dus.

[ Voor 21% gewijzigd door orange.x op 27-06-2008 23:32 ]

Pagina: 1