Comment trouver la dernière mise à jour d'une page web?
y a-t-il un moyen de savoir combien de temps s'est écoulé depuis qu'une page Web a été modifiée?
par exemple,
J'ai une page hébergée à: www.mywebsitenotupdated.com
y a-t-il un moyen de savoir quand cette page html a été chargée sur le serveur?
très important, je n'ai pas accès au serveur; juste un lien vers la page web.
7 réponses
Non, vous ne pouvez pas savoir quand une page a été mise à jour pour la dernière fois ou modifiée pour la dernière fois ou chargée sur un serveur (qui pourrait, selon l'interprétation, être trois choses différentes) juste en accédant à la page.
un serveur peut, et doit (selon le protocole HTTP 1.1), envoyer un Last-Modified
en-tête , que vous pouvez trouver de plusieurs façons, par exemple en utilisant visionneur HTTP de Rex Swain . Toutefois, selon le protocole, c'est juste "la date et l'heure auxquelles le serveur origin pense que la variante a été modifiée en dernier lieu". Et le protocole ajoute de façon réaliste: "la signification exacte de ce champ d'en-tête dépend de l'implémentation du serveur d'origine et de la nature de la ressource originale. Pour les fichiers, il peut être juste le système de fichiers date de dernière modification. Pour les entités avec des parties incluses dynamiquement, il peut être le plus récent de l'ensemble des derniers temps de modification pour ses parties composantes. Pour les passerelles de base de données, il peut s'agir de la dernière mise à jour à l'heure de l'enregistrement. Pour les objets virtuels, c'est peut-être la dernière fois que l'état interne change."
dans la pratique, les pages web sont très souvent créées dynamiquement à partir d'un système de gestion de contenu ou autrement, et dans de tels cas, l'en-tête Last-Modified
montre généralement un tampon de données de la création de la réponse, qui est normalement très proche de l'Heure de la demande. Cela signifie que l'en-tête est pratiquement inutile dans ce cas.
Même dans le cas d'une page "statique" (le serveur choisit simplement un fichier correspondant à la requête et l'envoie), le Last-Modified
horodatage indique normalement que le dernier accès en écriture au fichier sur le serveur. Cela peut se rapporter à un moment où le fichier a été restauré à partir d'une copie de sauvegarde, ou à un moment où le fichier a été édité sur le serveur sans apporter de changement au contenu, ou à un moment où il a été téléchargé sur le serveur, remplaçant éventuellement une copie identique plus ancienne. Dans ces cas, en supposant que l'horodatage est techniquement correcte, elle indique une heure après laquelle la page n'a pas été modifiée (mais pas nécessairement l'Heure de la dernière modification).
il y a une autre façon de trouver la mise à jour de la page qui pourrait être utile pour certaines occasions (si cela fonctionne:).
si la page a été indexée par Google, ou par Wayback Machine vous pouvez essayer de trouver quelle(S) date(s) a (ont) été enregistrés par eux (ces méthodes ne fonctionnent pas pour n'importe quelle page, et ont quelques limitations, qui sont longuement étudiées dans ce webmasters.stackexchange questions-réponses . Mais dans de nombreux cas, ils peut vous aider à trouver la page mise à jour date(s):
- Google: par le lien 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=
- vous pouvez changer le texte dans le champ de recherche par L'URL de la page que vous voulez.
- par exemple, la page actuelle de la question sur le débordement des piles la recherche nous donne comme un résultat le 14 mai 2014-qui est la date de création de la question:
- Wayback machine: Passez par le lien https://web.archive.org/web/*/www.example.com
- pour cette machine de retour de page empilable nous donne plus de résultats:
Saved 6 times between June 7, 2014 and November 23, 2016.
, et vous pouvez voir toutes les copies sauvegardées pour chaque date
- pour cette machine de retour de page empilable nous donne plus de résultats:
pour vérifier l'en-tête Last Modified
, vous pouvez utiliser httpie
( docs ).
Installation
pip install httpie --user
Utilisation
$ 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
le Date
est important car il rapporte l'heure du serveur, pas l'heure locale. En outre, tous les serveurs n'envoient pas Last-Modified
(par exemple superuser semble ne pas le faire).
j'ai écrit un blog à ce sujet, qui montre quelques étapes simples pour vérifier la date et l'Heure de votre site dernière mise à jour. https://sachinapatel.wordpress.com / Vous pouvez le vérifier sur le premier blogpost
un pythonic façon de le faire à partir de https://gist.github.com/EronHennessey/6996195
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)
le reste du script comprend un exemple d'archivage d'une page et de vérification des modifications par rapport à la nouvelle version, et d'alerte par courriel.