So finden Sie heraus, wann eine Webseite zuletzt aktualisiert wurde


73

Gibt es eine Möglichkeit herauszufinden, wie viel Zeit vergangen ist, seit eine Webseite geändert wurde?

Zum Beispiel habe ich eine Seite gehostet unter: www.mywebsitenotupdated.com

Gibt es eine Möglichkeit herauszufinden, wann diese HTML-Seite auf den Server hochgeladen wurde?

Ich habe keinen Zugriff auf den Server. nur ein Link zur Webseite.

Antworten:


71

Nein, Sie können nicht wissen, wann eine Seite zuletzt aktualisiert oder zuletzt geändert oder auf einen Server hochgeladen wurde (was je nach Interpretation drei verschiedene Dinge sein kann), indem Sie einfach auf die Seite zugreifen.

Ein Server kann und sollte (gemäß dem HTTP 1.1-Protokoll) einen Last-ModifiedHeader senden , den Sie auf verschiedene Arten herausfinden können, z. B. mithilfe des HTTP-Viewers von Rex Swain . Laut Protokoll ist dies jedoch gerecht

"Das Datum und die Uhrzeit, zu der der Ursprungsserver glaubt, dass die Variante zuletzt geändert wurde".

Und das Protokoll fügt realistisch hinzu:

„Die genaue Bedeutung dieses Headerfelds hängt von der Implementierung des Ursprungsservers und der Art der ursprünglichen Ressource ab. Bei Dateien ist dies möglicherweise nur die zuletzt geänderte Zeit des Dateisystems. Bei Entitäten mit dynamisch eingeschlossenen Teilen ist dies möglicherweise die aktuellste der letzten Änderungszeiten für die Komponenten. Bei Datenbank-Gateways ist dies möglicherweise der Zeitstempel für die letzte Aktualisierung des Datensatzes. Bei virtuellen Objekten ist es möglicherweise das letzte Mal, dass sich der interne Status geändert hat. “

In der Praxis werden Webseiten sehr oft dynamisch aus einem Content Management System oder auf andere Weise erstellt. In solchen Fällen zeigt der Last-ModifiedHeader normalerweise einen Datenstempel zum Erstellen der Antwort, der normalerweise sehr nahe am Zeitpunkt der Anforderung liegt. Dies bedeutet, dass der Header in solchen Fällen praktisch unbrauchbar ist.

Selbst bei einer „statischen“ Seite (der Server nimmt einfach eine der Anforderung entsprechende Datei auf und sendet sie) zeigt der Last-ModifiedDatumsstempel normalerweise nur den letzten Schreibzugriff auf die Datei auf dem Server an. Dies kann sich auf eine Zeit beziehen, in der die Datei von einer Sicherungskopie wiederhergestellt wurde, oder auf eine Zeit, in der die Datei auf dem Server bearbeitet wurde, ohne den Inhalt zu ändern, oder auf eine Zeit, in der sie auf den Server hochgeladen wurde und möglicherweise eine ältere ersetzt identische Kopie. In diesen Fällen wird unter der Annahme, dass der Zeitstempel technisch korrekt ist, eine Zeit angegeben, nach der die Seite nicht mehr geändert wurde (jedoch nicht unbedingt der Zeitpunkt der letzten Änderung).


Der Last-ModifiedHeader ist korrekt , es ist jedoch möglich, HEADanhand der Antwort des Servers auf eine Anfrage fundierte Vermutungen anzustellen, die auf dem Wissen über den Server eines bestimmten Hosts und dessen Inhalt sowie dessen Generierung basieren. Das Herumschnüffeln in ihren Seiten und mit einem Schnüffler auf der Verbindung kann viel verraten.
Der Blechmann

60

Öffnen Sie die Browserkonsole ( ? ) Und geben Sie Folgendes ein:

javascript:alert(document.lastModified)

13
Sie können es auch einfach in der Konsole ausdrucken.
Geben Sie

7
Die folgende Antwort sollte wirklich die akzeptierte Antwort sein, da dynamische Seiten im laufenden Betrieb generiert werden und dieser Befehl in diesem Zusammenhang wertlos ist. Dies ist jedoch ein nützlicher Befehl für statische Seiten (wenn Sie feststellen können, dass eine Seite wirklich statisch ist).
Joyrex

13
Hallo. Als ich danach suchte, in der Konsole: Ich erhalte das aktuelle Datum und die aktuelle Uhrzeit meines Systems: javascript:alert(document.lastModified)Nicht das tatsächliche Datum
Raja777m

2
@ Raja777m Vielleicht versuchen Sie dies für eine dynamische Webseite
Mostafiz Rahman

Dies würde falsche Daten anzeigen, wenn eine Website den Server verschoben hätte, nicht wahr?
Eoin

17

Es gibt eine andere Möglichkeit, das Seitenupdate zu finden, das für einige Gelegenheiten nützlich sein kann (wenn es funktioniert :).

Wenn die Seite von Google oder Wayback Machine indiziert wurde, können Sie herausfinden, welche Daten von ihnen gespeichert wurden (wurden) (diese Methoden funktionieren für keine Seite und weisen einige Einschränkungen auf, die ausführlich untersucht werden) In dieser webmasters.stackexchange- Frage werden die Antworten beantwortet . In vielen Fällen können sie Ihnen jedoch dabei helfen, die Aktualisierungsdaten für die Seite herauszufinden:

  1. Google-Weg: Gehen Sie über den Link https://www.google.com.ua/search?q=site%3Awww.example.com&biw=1855&bih=916&source=lnt&tbs=cdr%3A1%2Ccd_min%3A1%2F1%2F2000%2Ccd_max% 3A & tbm =
    • Sie können den Text im Suchfeld durch eine beliebige Seiten-URL ändern.
    • Zum Beispiel die aktuelle Stackoverflow Frage Seite gibt Such uns als Ergebnis 14. Mai 2014 - das ist die Frage Erstellungsdatum:Geben Sie hier die Bildbeschreibung ein
  2. Wayback-Maschinenweg: Gehen Sie über den Link https://web.archive.org/web/*/www.example.com
    • Für diese Stackoverflow-Seiten-Wayback-Maschine erhalten wir mehr Ergebnisse : Saved 6 times between June 7, 2014 and November 23, 2016., und Sie können alle gespeicherten Kopien für jedes Datum anzeigen

Wayback-Maschine ist ein erstaunliches Werkzeug! Hier erfahren Sie, wann eine bestimmte Seite aktualisiert wurde. Sie können jedoch auch die verschiedenen Schnappschüsse dieser Seite aufrufen. Sie können genau überprüfen, ob der Abschnitt, an dem Sie interessiert sind, ziemlich alt oder ziemlich neu ist. Wayback-Maschine ist die eigentliche Antwort auf diese Frage.
Rozar Fabien

1
Mit der API für den Wayback-Computer können Sie eine Liste aller Versionen einer Seite in der Reihenfolge anzeigen, in der sie archiviert wurden. Sie können dann mehrere davon scannen, um festzustellen, wann diese Seite nicht mehr vorhanden ist. Sie müssten jedoch jede Version und eine Diff-Prüfung durchführen, um festzustellen, wann sie zuletzt geändert wurde.
Marc Maxmeister

4

Zum Überprüfen des Last ModifiedHeaders können Sie httpie( docs ) verwenden.

Installation

pip install httpie --user

Verwendung

$ http -h https://martin-thoma.com/author/martin-thoma/ | grep 'Last-Modified\|Date'
Date: Fri, 06 Jan 2017 10:06:43 GMT
Last-Modified: Fri, 06 Jan 2017 07:42:34 GMT

Das Dateist wichtig , da dies die Serverzeit - Berichte, nicht die lokale Zeit. Außerdem sendet nicht jeder Server Last-Modified(z. B. scheint der Superuser dies nicht zu tun).


1

Dies ist eine pythonische Methode :

import httplib
import yaml
c = httplib.HTTPConnection(address)
c.request('GET', url_path)
r = c.getresponse()
# get the date into a datetime object
lmd = r.getheader('last-modified')
if lmd != None:
   cur_data = { url: datetime.strptime(lmd, '%a, %d %b %Y %H:%M:%S %Z') }
else:
   print "Hmmm, no last-modified data was returned from the URL."
   print "Returned header:"
   print yaml.dump(dict(r.getheaders()), default_flow_style=False)

Der Rest des Skripts enthält ein Beispiel für das Archivieren einer Seite, das Überprüfen auf Änderungen an der neuen Version und das Benachrichtigen einer Person per E-Mail.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.