Cache-Control: max-age=3 , Öfters aktualisieren?
ahurr
- https
2 Der Martin0 ralphi
Hallo hab da mal ne frage,
habe mir ein node.js Programm geschrieben was eine Homepage (nicht meine) dauernd (alle 10ms) abfragt, ob es ein neues json gibt.
Da ich aus diesen jsons die zufällig (alle 2-3ms) generiert werden die Informationen brauche und sammel. Immoment kriege ich nur alle 3 Sekunden ein neues json (somit verpasse ich locker 10.000 jsons), bräuchte aber öfters diese Informationen. Ist es möglich die Seite trotz max-age=3s öfters zu aktualisieren mit nicht gecachten jsons. Bis vor 1 Woche hat es noch geklappt das ich einfach die URL erweitern konnte z.b. www.hallo.de?asdf=123
Die 123 wurde dann bei jeder Anfrage neu generiert zu einer anderen Random Zahl und somit konnte ich alle Informationen bekommen. Nun funktioniert dieses aber nicht mehr und der Webseite ist es egal ob man die URL ändert.
Gibt es dort ne Möglichkeit z.b. beim GET Header was zu ändern oder irgendwie der Seite sagen das man immer jemand anderes ist und die Webseite dann denkt "ahh der hat noch nie Daten von uns erhalten"?
Würde mich echt mal interessieren habe schon etliche Foren durchsucht und mehrere Sachen ausprobiert. Vielleicht kennt ihr ja eine Möglichkeit.
Füge hier noch den Header der Webseite hinzu:
Certificate
HTTP/1.1 200 OK
Server: Apache
Cache-Control: public,max-age=3
Date: Thu, 13 Nov 2014 23:06:11 GMT
Expires: Thu, 13 Nov 2014 23:06:14 GMT
Last-Modified: Thu, 13 Nov 2014 23:06:09 GMT
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
Content-Length: 8029
Accept-Ranges: bytes
X-Varnish: 1647162896
Connection: close
Am meisten wundert es mich warum es nicht mehr funktioniert einfach was hinter der URL zu hängen und somit nicht den cache zu kriegen. Was wäre nun eine möglichkeit habt ihr eine Idee das ich öfters anfragen kann und nen neues json bekomme ohne das gecachte zu kriegen.
liebe grüße
Gustav
Hallo,
habe mir ein node.js Programm geschrieben was eine Homepage (nicht meine) dauernd (alle 10ms) abfragt, ob es ein neues json gibt.
wenn du schon betonst, dass es nicht deine Site ist, hast du hoffentlich die Erlaubnis vom Inhaber, die Informationen automatisiert und regelmäßig abzufragen.
Aber selbst wenn wir das mal voraussetzen: Ein HTTP-Abfrageintervall von 10ms ist im Internet völlig illusorisch. Pro Verbindungsaufbau fällt locker mal eine Totzeit von mehreren Zehntelsekunden an, und selbst wenn wir davon ausgehen, dass die TCP-Verbindung persistent ist (also über viele Requests bestehen bleibt), braucht jeder HTTP-Request doch einige Zeit, bis die Antwort auch wieder beim anfragenden Client ist.
Da ich aus diesen jsons die zufällig (alle 2-3ms) generiert werden die Informationen brauche und sammel. Immoment kriege ich nur alle 3 Sekunden ein neues json (somit verpasse ich locker 10.000 jsons)
Die Rechnung solltest du nochmal überdenken - du liegst um den Faktor 10 daneben. ;-)
Anyway, um Informationen mit so kurzer Latenzzeit zu übertragen, ist HTTP definitiv ungeeignet - es sei denn vielleicht, man macht das mit _einem_ Request, dessen Response quasi endlos ist (so streamen manche Anbieter auch Audio oder Video über HTTP).
Gibt es dort ne Möglichkeit z.b. beim GET Header was zu ändern oder irgendwie der Seite sagen das man immer jemand anderes ist und die Webseite dann denkt "ahh der hat noch nie Daten von uns erhalten"?
Sprich mit dem Anbieter. Frag ihn, ob er nicht eine technisch sinnvollere Weise hat, wie er die Daten zur Verfügung stellt.
Ciao,
Martin
Hi Gustav,
habe mir ein node.js Programm geschrieben was eine Homepage (nicht meine) dauernd (alle 10ms) abfragt, ob es ein neues json gibt.
also wenn ich mal rechne (kann auch falsch sein ;-)
Content-Length: 8029Byte
alle 10 ms
6,4 Mb/s für stream
zzgl delay für TCP –Verbindungsauf/abbau – gefühlte 300ms bei Strato
Bis vor 1 Woche hat es noch geklappt das ich einfach die URL erweitern konnte z.b. www.hallo.de?asdf=123
stellt sich mir die Frage, welcher WEBserver macht das in < 10 msec?
Gib doch mal die URL/Provider an :-)
Viele Grüße aus LA