Reiner: lastModified

Hallo,

kann mir jemand erklären, ob document.lastModified irgendwie von der Uhr des Client abhängt.

Mir sind ein paar Dinge aufgefallen:

wenn ich per cgi abfrage (LWP::Simple), bekomme ich das richtige Datum raus! Wenn es sich um eine dyn. generierte Seite handelt, wird das Datum 1.1.1970
Das ist fein, aber nicht immer machbar, da ich die Seiten u.U. nicht direkt erreichen kann.

Clientseitig (also eben mittels JS) treten bei verschiedenen Browsern unterschiedliche Formate auf, was ja nicht weiter tragisch ist, aber bei dyn. gen. Seiten wird das aktuelle Datum des Client ausgespuckt. So jedenfalls mein Eindruck. Gut, auch nicht weiter tragisch, dann vergleicht man eben mehrere Clients, ob die Daten übereinstimmen.
NUR, was ist bei statischen Seiten?
Also generell, WIE wird das Änderungsdatum berechnet und welchen Einfluß hat die Uhr des Clients?

Danke!

Reiner

  1. Halihallo

    kann mir jemand erklären, ob document.lastModified irgendwie von der Uhr des Client abhängt.

    gar nicht! - Sollte es auf jeden Fall nicht.

    Last-Modified wird im HTTP-Header gespeichert. Dieser wird nun entweder vom Webserver (eg. Apache, IIS, ...) erstellt, oder von einem CGI-Script.
    Wenn dieser Header nicht erstellt wird, ist es dem Client überlassen, was er damit anstellt. Da LWP keinen derartigen Header erhält, wird kurzerhand das Startdatum 1.1.1970 angenommen. Bei den meisten heutigen Browsern, wird diese fehlende Information durch die aktuelle Urzeit ergänzt. Da diese von der Zeitzone, Sprache, ... abhängt, ist sie von Browser zu Browser verschieden.

    Da die meisten dyn. generierten Seiten keinen derartigen Header senden (meistens nur der Content-Type des Dokumentes), wird diese Information vom Browser ergänzt (vorher beschrieben). Bei statischen Seiten wird diese Information vom Webserver ergänzt durch diejenigen, welche er vom Betriebssystem bekommt (Filesystem).

    Viele Grüsse

    Philipp

    1. kann mir jemand erklären, ob document.lastModified irgendwie von der Uhr des Client abhängt.

      gar nicht! - Sollte es auf jeden Fall nicht.

      Last-Modified wird im HTTP-Header gespeichert. Dieser wird nun entweder vom Webserver (eg. Apache, IIS, ...) erstellt, oder von einem CGI-Script.
      Wenn dieser Header nicht erstellt wird, ist es dem Client überlassen, was er damit anstellt. Da LWP keinen derartigen Header erhält, wird kurzerhand das Startdatum 1.1.1970 angenommen. Bei den meisten heutigen Browsern, wird diese fehlende Information durch die aktuelle Urzeit ergänzt. Da diese von der Zeitzone, Sprache, ... abhängt, ist sie von Browser zu Browser verschieden.

      Da die meisten dyn. generierten Seiten keinen derartigen Header senden (meistens nur der Content-Type des Dokumentes), wird diese Information vom Browser ergänzt (vorher beschrieben). Bei statischen Seiten wird diese Information vom Webserver ergänzt durch diejenigen, welche er vom Betriebssystem bekommt (Filesystem).

      Danke, somit kann man das kann ich das kaum sinnvoll verwenden, schade.

      1. Halihallo Reiner

        Danke, somit kann man das kann ich das kaum sinnvoll verwenden, schade.

        Leider muss ich dir recht geben. Ich fände es z. B. auch toll, wenn der Referer immer gesetzt wäre, aber eben, HTTP Header. Der wird nur von Browsern gesendet, jedoch von fast keinen CGI-Scripts (wer macht sich schon die Mühe alle HTTP-Header zu builden und auszugeben?). Wobei dies nun der andere Weg (Client -> Server) ist.

        Unfortunately: don't trust anything!

        Viele Grüsse

        Philipp