Toon posts:

general.js?1182761545

Pagina: 1
Acties:

Anoniem: 18952

Topicstarter
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: 00:21

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: 23:16
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
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.

Anoniem: 18952

Topicstarter
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: 00:32

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: 00:21

crisp

Devver

Pixelated

filemtime

Intentionally left blank


  • GlowMouse
  • Registratie: November 2002
  • Niet online
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.
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.

  • user109731
  • Registratie: Maart 2004
  • Niet online
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?
Anoniem: 18952 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
  • Nu online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

mithras schreef op maandag 25 juni 2007 @ 13:05:
[...]
<snip> de boolean 1182761545 uitlezen <snip>
De boolean :?
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

[Voor 49% gewijzigd door RobIII op 25-06-2007 13:23]

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

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 29-03 17:21

Snake

Los Angeles, CA, USA

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.

Going for adventure, lots of sun and a convertible! | GMT-8


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 02-08-2021
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: 29-03 17:21

Snake

Los Angeles, CA, USA

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

Going for adventure, lots of sun and a convertible! | GMT-8


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 02-08-2021
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.


  • user109731
  • Registratie: Maart 2004
  • Niet online
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

[Voor 15% gewijzigd door user109731 op 25-06-2007 13:30]


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

crisp

Devver

Pixelated

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: 29-03 17:21

Snake

Los Angeles, CA, USA

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.

Going for adventure, lots of sun and a convertible! | GMT-8


Anoniem: 18952

Topicstarter
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
  • Nu online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Anoniem: 18952 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 ;)

[Voor 16% gewijzigd door RobIII op 25-06-2007 13:49]

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

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • mithras
  • Registratie: Maart 2003
  • Niet online
offtopic:
Dat dacht ik ja :p Blijkt het een lege string te zijn. Sorry :X

  • RobIII
  • Registratie: December 2001
  • Nu online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

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.

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

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • mithras
  • Registratie: Maart 2003
  • Niet online
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...st.php?1182761545&foo=bar :)

  • RobIII
  • Registratie: December 2001
  • Nu online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

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...st.php?1182761545&foo=bar :)
offtopic:
|:( Nou snap ik 'm :P

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

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee