Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

  • lyzer
  • Registratie: januari 2001
  • Laatst online: 18-07-2012
Ik zie vaker in broncodes terug dat op een dergelijk manier een javascript bestand wordt opgeroepen zo ook op tweakers.net. Maar wat is hier nou precies het nut van?

Bestaat het .js bestand daadwerkelijk fysiek op de server of wordt het door middel van php gegenereerd?

  • crisp
  • Registratie: februari 2000
  • Laatst online: 21:23

crisp

Devver

Pixelated

Dat bestand staat fysiek op de server en wordt normaliter met gewone cache-headers geserveerd. De GET-parameter is de last update timestamp van het bestand; als het bestand wordt aangepast veranderd ook de timestamp en daarmee de link naar het bestand wat ervoor zorgt dat de client geforceerd de nieuwe versie ophaalt :)

Intentionally left blank


  • I-King
  • Registratie: maart 2003
  • Laatst online: 31-10 11:23
Het is gewoon een javascript bestand die op de server geplaatst wordt en met de ? geef je hem een variabele mee waar het javascript mee verder kan werken/genereren. Bijvoorbeeld met een dropdown menu met een specifieke link naar topic 1182761545 (of post ofzo). Dat het niet met php gemaakt wordt in een html bestand is om bandbreedte te besparen, het javascript bestand kan namelijk gewoon gecached worden nu.

Ontleed geen rechten aan deze reactie, want ik heb er ook maar beperkte kennis van.

  • mithras
  • Registratie: maart 2003
  • Niet online

mithras

Ik blog over ZF

quote:
I-King schreef op maandag 25 juni 2007 @ 13:02:
Het is gewoon een javascript bestand die op de server geplaatst wordt en met de ? geef je hem een variabele mee waar het javascript mee verder kan werken/genereren. Bijvoorbeeld met een dropdown menu met een specifieke link naar topic 1182761545 (of post ofzo). Dat het niet met php gemaakt wordt in een html bestand is om bandbreedte te besparen, het javascript bestand kan namelijk gewoon gecached worden nu.

Ontleed geen rechten aan deze reactie, want ik heb er ook maar beperkte kennis van.
Je kan niet zomaar vanzelf afaik de boolean 1182761545 uitlezen met javascript als get parameter. Het is puur om de client een ander adres te geven van de link naar de javascript zodat de gecachde versie vervalt.

  • lyzer
  • Registratie: januari 2001
  • Laatst online: 18-07-2012
Maar wordt de timestamp van zo´n .js bestand dan uit een database gehaald.
Of wordt deze benaderd door een php functie als filemtime()?

Als voor de eerste methode wordt gekozen, hoe weet dan het cms dat het bestand geupdate is als dit fysiek bestand buiten de cms om ge-edit is?

  • Janoz
  • Registratie: oktober 2000
  • Laatst online: 20:55

Janoz

Moderator DevschuurŽ

!litemod

Tja, als de eerste keuze zoveel problemen oplevert, dan zou je ook de conclusie kunnen trekken dat ze voor de tweede manier gekozen hebben ;)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • crisp
  • Registratie: februari 2000
  • Laatst online: 21:23

crisp

Devver

Pixelated

filemtime

Intentionally left blank


  • GlowMouse
  • Registratie: november 2002
  • Laatst online: 28-10 11:56

GlowMouse

getweakt...

quote:
mithras schreef op maandag 25 juni 2007 @ 13:05:
[...]
Je kan niet zomaar vanzelf afaik de boolean 1182761545 uitlezen met javascript als get parameter. Het is puur om de client een ander adres te geven van de link naar de javascript zodat de gecachde versie vervalt.
Bestanden die eindigen op .js kunnen nog wel server-side door bv. php worden gegenereerd.
quote:
Als voor de eerste methode wordt gekozen, hoe weet dan het cms dat het bestand geupdate is als dit fysiek bestand buiten de cms om ge-edit is?
Je zou ieder kwartier een cronjob kunnen draaien die alle bestanden naloopt.

jij ook?


  • JanDM
  • Registratie: maart 2004
  • Niet online

JanDM

Python!

quote:
crisp schreef op maandag 25 juni 2007 @ 13:01:
De GET-parameter is de last update timestamp van het bestand; als het bestand wordt aangepast veranderd ook de timestamp en daarmee de link naar het bestand wat ervoor zorgt dat de client geforceerd de nieuwe versie ophaalt :)
Just curious, maar bieden de HTTP cache headers daar niet genoeg mogelijkheden voor, of buggen bepaalde browsers daarop?
quote:
lyzer schreef op maandag 25 juni 2007 @ 13:13:
Als voor de eerste methode wordt gekozen, hoe weet dan het cms dat het bestand geupdate is als dit fysiek bestand buiten de cms om ge-edit is?
Bijvoorbeeld eens in de zoveel requests updaten (random getal kiezen, etc.). Dan gebruik je de database als een soort van cache :)

  • RobIII
  • Registratie: december 2001
  • Laatst online: 01:00

RobIII

DT Admin Doktersteam / Moderator DevschuurŽ

^ Romeinse 3 ja!

quote:
mithras schreef op maandag 25 juni 2007 @ 13:05:
[...]
<snip> de boolean 1182761545 uitlezen <snip>
De boolean :?
quote:
JanDM schreef op maandag 25 juni 2007 @ 13:22:
[...]

Just curious, maar bieden de HTTP cache headers daar niet genoeg mogelijkheden voor, of buggen bepaalde browsers daarop?
"Bepaalde" ja :P

RobIII wijzigde deze reactie 25-06-2007 13:23 (49%)

Mistakes happen. It's the mistakes inside a For Loop that are a real problem - Scott Hanselman.

Over mij | Programmeurs gezocht!


  • Snake
  • Registratie: juli 2005
  • Laatst online: 31-10 17:41

Snake

Tweakers abonnee Tweakers abonnementen

Programeerder

Ik vraag me eigenlijk af hoe het komt dit moet.

Je kan headers meesturen van no-cache, en must-revalidate, en nog zijn bepaalde browsers/proxies te slecht geschreven om dit te negeren.

US = the promised land. One day... One day!
.oisyn: [..] Ik kan me geen slechtere zoekterm voorstellen dan "C++ panel". Afgezien van "naveltruitje" oid. [...]


  • BasieP
  • Registratie: oktober 2000
  • Laatst online: 30-10 18:12

BasieP

Canon EOS 30D

quote:
Snake schreef op maandag 25 juni 2007 @ 13:23:
Ik vraag me eigenlijk af hoe het komt dit moet.

Je kan headers meesturen van no-cache, en must-revalidate, en nog zijn bepaalde browsers/proxies te slecht geschreven om dit te negeren.
zie robIII :)

(één) bepaalde 'browser' is niet zo goed met cache :(

This message was sent on 100% recyclable electrons.


  • Snake
  • Registratie: juli 2005
  • Laatst online: 31-10 17:41

Snake

Tweakers abonnee Tweakers abonnementen

Programeerder

quote:
BasieP schreef op maandag 25 juni 2007 @ 13:25:
[...]

zie robIII :)

(één) bepaalde 'browser' is niet zo goed met cache :(
Dat heeft hij dan na mij ge-edit, in dezelfde minuut zelfs :+

Ik stel voor dat IE gebruikers een header:location naar getfirefox krijgen

US = the promised land. One day... One day!
.oisyn: [..] Ik kan me geen slechtere zoekterm voorstellen dan "C++ panel". Afgezien van "naveltruitje" oid. [...]


  • BasieP
  • Registratie: oktober 2000
  • Laatst online: 30-10 18:12

BasieP

Canon EOS 30D

quote:
Snake schreef op maandag 25 juni 2007 @ 13:27:
[...]

Dat heeft hij dan na mij ge-edit, in dezelfde minuut zelfs :+

Ik stel voor dat IE gebruikers een header:location naar getfirefox krijgen
* BasieP is voor, alhoewel ik mij afvraag of VNU dan niet boos wordt ;)

This message was sent on 100% recyclable electrons.


  • JanDM
  • Registratie: maart 2004
  • Niet online

JanDM

Python!

quote:
Is het niet vreemd dat ik dat stiekum al vermoedde? :P
offtopic:
@hierboven: goed idee, maar dan waag ik me het komende jaar niet in LA :X

JanDM wijzigde deze reactie 25-06-2007 13:30 (15%)


  • crisp
  • Registratie: februari 2000
  • Laatst online: 21:23

crisp

Devver

Pixelated

quote:
Snake schreef op maandag 25 juni 2007 @ 13:23:
Ik vraag me eigenlijk af hoe het komt dit moet.

Je kan headers meesturen van no-cache, en must-revalidate, en nog zijn bepaalde browsers/proxies te slecht geschreven om dit te negeren.
We willen juist niet dat browsers bij elke view een request gaan doen naar de server voor statische files en files die over het algemeen niet vaak wijzigen. We willen dat enkel wanneer het bestand ook daadwerkelijk veranderd is, hence deze 'truuk'

Intentionally left blank


  • Snake
  • Registratie: juli 2005
  • Laatst online: 31-10 17:41

Snake

Tweakers abonnee Tweakers abonnementen

Programeerder

quote:
JanDM schreef op maandag 25 juni 2007 @ 13:28:
[...]

Is het niet vreemd dat ik dat stiekum al vermoedde? :P
offtopic:
@hierboven: goed idee, maar dan waag ik me het komende jaar niet in LA :X
Hoezo? Klagen kunnen ze toch niet? Ze worden automatisch gedirected :P Geen vuiltje aan de lucht.

US = the promised land. One day... One day!
.oisyn: [..] Ik kan me geen slechtere zoekterm voorstellen dan "C++ panel". Afgezien van "naveltruitje" oid. [...]


  • lyzer
  • Registratie: januari 2001
  • Laatst online: 18-07-2012
Zo'n javascript geeft:
Cache-Control max-age=25920000

Terwijl de frontpage geeft:
Cache-Control no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0

  • RobIII
  • Registratie: december 2001
  • Laatst online: 01:00

RobIII

DT Admin Doktersteam / Moderator DevschuurŽ

^ Romeinse 3 ja!

quote:
lyzer schreef op maandag 25 juni 2007 @ 13:35:
Zo'n javascript geeft:
Cache-Control max-age=25920000
Zie crisp. In dit geval is het dus de bedoeling ;)

RobIII wijzigde deze reactie 25-06-2007 13:49 (16%)

Mistakes happen. It's the mistakes inside a For Loop that are a real problem - Scott Hanselman.

Over mij | Programmeurs gezocht!


  • mithras
  • Registratie: maart 2003
  • Niet online

mithras

Ik blog over ZF

quote:
offtopic:
Dat dacht ik ja :p Blijkt het een lege string te zijn. Sorry :X

  • RobIII
  • Registratie: december 2001
  • Laatst online: 01:00

RobIII

DT Admin Doktersteam / Moderator DevschuurŽ

^ Romeinse 3 ja!

quote:
mithras schreef op maandag 25 juni 2007 @ 14:13:
[...]
offtopic:
Dat dacht ik ja :p Blijkt het een lege string te zijn. Sorry :X
offtopic:
Nou snap ik er helemaal geen kont meer van :D 1182761545 is een getal dus "integer" en dus geen boolean (of je hebt een hele rare manier van true danwel false schrijven :P ) en al helemaal geen lege string.

Mistakes happen. It's the mistakes inside a For Loop that are a real problem - Scott Hanselman.

Over mij | Programmeurs gezocht!


  • mithras
  • Registratie: maart 2003
  • Niet online

mithras

Ik blog over ZF

quote:
RobIII schreef op maandag 25 juni 2007 @ 14:16:
[...]

offtopic:
Nou snap ik er helemaal geen kont meer van :D 1182761545 is een getal dus "integer" en dus geen boolean (of je hebt een hele rare manier van true danwel false schrijven :P ) en al helemaal geen lege string.
offtopic:
http://domain.tld?123 geeft toch een get parameter "123" de waarde "" mee? Zo ook http://domain.tld?foo=bar de parameter / variabele "foo" de waarde "bar" bevat. In dit geval is 1182761545 niet de waarde van de variabele, maar de naam van de variabele, in php op te vragen door $_GET["1182761545"]. En die waarde is "". Ik dacht dus eerst dat die waarde een boolean was, totdat ik het na jouw opmerking ging testen en het doodleuk een lege string blijkt te zijn. Zie ook http://stage.juriansluima...hp?1182761545&foo=bar :)

  • RobIII
  • Registratie: december 2001
  • Laatst online: 01:00

RobIII

DT Admin Doktersteam / Moderator DevschuurŽ

^ Romeinse 3 ja!

quote:
mithras schreef op maandag 25 juni 2007 @ 14:21:
[...]
offtopic:
http://domain.tld?123 geeft toch een get parameter "123" de waarde "" mee? Zo ook http://domain.tld?foo=bar de parameter / variabele "foo" de waarde "bar" bevat. In dit geval is 1182761545 niet de waarde van de variabele, maar de naam van de variabele, in php op te vragen door $_GET["1182761545"]. En die waarde is "". Ik dacht dus eerst dat die waarde een boolean was, totdat ik het na jouw opmerking ging testen en het doodleuk een lege string blijkt te zijn. Zie ook http://stage.juriansluima...hp?1182761545&foo=bar :)
offtopic:
|:( Nou snap ik 'm :P

Mistakes happen. It's the mistakes inside a For Loop that are a real problem - Scott Hanselman.

Over mij | Programmeurs gezocht!

Pagina: 1


Populair:Apple iPhone 6Samsung Galaxy Note 4Apple iPad Air 2FIFA 15Motorola Nexus 6Call of Duty: Advanced WarfareApple WatchWorld of Warcraft: Warlords of Draenor, PC (Windows)Microsoft Xbox One 500GBTablets

© 1998 - 2014 Tweakers.net B.V. Tweakers is onderdeel van De Persgroep en partner van Computable, Autotrack en Carsom.nl Hosting door True

Beste nieuwssite en prijsvergelijker van het jaar 2013