Script für Datum der letzten Aktualisierung funktioniert nicht
Petra
- javascript
0 MM0 Michael Schröpl0 Petra
Hallo,
bin kurz vor'm Verzeweifeln: ich habe ein Script, das das Datum der letzten Aktualisierung ermittelt. Lokal funktioniert es wunderbar, aber sobald ich es auf dem Server habe, passiert folgendes:
IE zeigt immer das heutige Datum an (auch wenn keine Aktualisierung stattgefunden hat)
NS 6.2 zeigt immer den 1.1.1970 an (obwohl da garantiert keine Aktualisierung stattgefunden hat ;-)
Das Verrückteste daran ist, dass das gleiche Script auf einer anderen Website läuft wie es sein soll.
Die Site, wo es nicht läuft ist (z. B.): http://www.sarah-hagar.de/kontakte.html (links unten)
Die Site, wo es läuft ist: http://www.organisationsberatung-rosenthal.de
Ich bilde mir ein, dass eigentlich auf beiden das Gleiche steht, oder? Wer kann mir helfen?
Petra
Hallo.
Das liegt sicher nicht an JavaScript sondern, am Webserver, der auf www.organisationsberatung-rosenthal.de läuft.
Damit nämlich JS weiss, wann die letztze Aktuallisierung stattfand, muss das Datum im HTTP-Header mit-übertragen werden ..
Anscheinend ist das bei dem Webserver nicht der Fall ...
Was läuft dort?? Apache oder IIS oder Netscape Enterprise??
Wenn das wirklich der Fall ist, wirds schwer, das Problem zu beheben ...
LG,
MM
Hallo.
Das liegt sicher nicht an JavaScript sondern, am Webserver, der auf www.organisationsberatung-rosenthal.de läuft.
Damit nämlich JS weiss, wann die letztze Aktuallisierung stattfand, muss das Datum im HTTP-Header mit-übertragen werden ..
Anscheinend ist das bei dem Webserver nicht der Fall ...
Was läuft dort?? Apache oder IIS oder Netscape Enterprise??
Wenn das wirklich der Fall ist, wirds schwer, das Problem zu beheben ...
LG,
MM
das dachte ich auch erst, aber es erscheint mir recht unwahrscheinlich, weil beide Sites beim gleichen Provider liegen. Soviel ich weiß, wird Apache verwendet.
Gruß
Petra
Hallo ...
das dachte ich auch erst, aber es erscheint mir recht unwahrscheinlich, weil beide Sites beim gleichen Provider liegen. Soviel ich weiß, wird Apache verwendet.
Naja - ich hab das ganze mal mit TELNET überprüft ...
Unter der angegebenen URL von www.sarah-hagar.de wird er Last-Modified-Eintrag im HTTP-Header nicht mitgeschickt, kein Wunder, dass es der Browser dann auch nicht weiss ...
Es wird bei keiner HTML-Seite auf dieser Domain mitgeschickt ...
Komisch irgendwie - aber vielleicht hat das der Provider so eingestellt ... frag am besten mal dort nach ...
LG,
MM
Hi Petra,
Die Site, wo es nicht läuft ist (z. B.):
http://www.sarah-hagar.de/kontakte.html
HTTP response headers received from server:
HTTP/1.0 200 OK
Connection: close
Date: Sun, 04 Aug 2002 04:01:33 GMT
Server: Apache/1.3.20 (Linux/SuSE) mod_perl/1.26 PHP/4.2.1 mod_ssl/2.8.4 OpenSSL/0.9.6b
Content-Type: text/html
Die Site, wo es läuft ist:
http://www.organisationsberatung-rosenthal.de
HTTP response headers received from server:
HTTP/1.0 200 OK
Connection: close
Date: Sun, 04 Aug 2002 04:02:46 GMT
Accept-Ranges: bytes
Server: Apache/1.3.26 (Unix)
Content-Length: 10579
Content-Type: text/html
ETag: "16b8542-2953-3d499899"
Last-Modified: Thu, 01 Aug 2002 20:22:49 GMT
^^^^^^^^^^^^^^
Ich bilde mir ein, dass eigentlich auf beiden das
Gleiche steht, oder? Wer kann mir helfen?
http://www.schroepl.net/cgi-bin/http_trace.pl
Viele Grüße
Michael
P.S.: Daß der SuSE-Server nicht mal eine Content-Length
liefert, finde ich schon etwas bedenklich.
Außerdem ist der letztgenannte Apache 1.3.26
absolut aktuell, während der 1.3.20 für den einen
oder anderen Angriff etwas verwundbarer wäre.
Wenn Du also die Wahl hast ...
Danke, Euch beiden, das hilft mir sehr weiter. Habe mich jetzt an den Provider gewandt, da es ja ganz offensichtlich am http-Header liegt. Zwar habe ich von Webservern kaum Ahnung, aber ich finde es trotzdem erstaunlich, warum einer einen Server so einrichtet, dass LastModified nicht mitübertragen wird.
Hitzige Grüße
Petra
Hallo Petra,
ich finde es trotzdem erstaunlich, warum einer einen
Server so einrichtet, dass LastModified nicht
mitübertragen wird.
ich auch. Denn mit diesem Datum als Hinweis überprüft
der Browser, ob er seinem Cache-Inhalt trauen darf.
Wenn ein Zugriff auf eine im Cache verfügbare Seite
anfällt, dann sendet der Browser einen "conditional
get" an den Server, in welchem er das LastModified-
Datum mit sendet; stimmt dieses mit dem Datum auf dem
Server überein, dann darf der Server mit "HTTP 304 -
Deine Cache-Daten sind noch gültig" antworten, statt
die komplette Seite noch einmal zu senden.
Der Server wird also durch das Weglassen des
LastModified-Headers für viele Besucher langsamer.
Du siehst, das Problem geht weit über Deine
JavaScript-Funktion hinaus ...
Viele Grüße
Michael