web-dev-qa-db-fra.com

Comment trouver la dernière mise à jour d'une page Web?

Existe-t-il un moyen de savoir combien de temps s'est écoulé depuis le changement de page Web?

Par exemple, J'ai une page hébergée à l'adresse: www.mywebsitenotupdated.com

Existe-t-il un moyen de savoir quand cette page HTML a été téléchargée sur le serveur?

Très important, je n'ai pas accès au serveur; juste un lien vers une page Web.

63
guisantogui

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 téléchargée sur un serveur (ce qui peut, selon l'interprétation, être de trois choses différentes) simplement en accédant à la page.

Un serveur peut et doit (selon le protocole HTTP 1.1) envoyer un en-tête Last-Modified , que vous pouvez trouver de différentes manières, par exemple: en utilisant HTTP Viewer de Rex Swain . Toutefois, selon le protocole, il ne s'agit que «de la date et de l'heure auxquelles le serveur Origin estime que la variante a été modifiée pour la dernière fois». Et le protocole ajoute de manière réaliste: «La signification exacte de ce champ d’en-tête dépend de la mise en œuvre du serveur Origin et de la nature de la ressource originale. Pour les fichiers, il peut s’agir uniquement de la dernière heure de modification du système de fichiers. Pour les entités avec des pièces incluses de manière dynamique, il peut s'agir du plus récent des ensembles de dernière modification de ses composants. Pour les passerelles de base de données, il peut s'agir de l'horodatage de la dernière mise à jour de l'enregistrement. Pour les objets virtuels, il peut s’agir de la dernière modification de l’état interne. ”

En pratique, les pages Web sont très souvent créées dynamiquement à partir d'un système de gestion de contenu ou d'une autre manière. Dans ce cas, l'en-tête Last-Modified indique généralement un tampon de données de création de la réponse, qui est normalement très proche du moment de la demande. Cela signifie que l'en-tête est pratiquement inutile dans de tels cas.

Même dans le cas d'une page «statique» (le serveur sélectionne simplement un fichier correspondant à la demande et l'envoie), le timbre de date Last-Modified indique normalement uniquement le dernier accès en écriture au fichier sur le serveur. Cela peut être lié au moment où le fichier a été restauré à partir d’une copie de sauvegarde ou au moment où le fichier a été modifié sur le serveur sans modification du contenu, ou à une date où il a été téléchargé sur le serveur, en remplaçant éventuellement un fichier plus ancien. copie identique. Dans ces cas, à supposer que l'horodatage soit techniquement correct, il 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).

64
Jukka K. Korpela

Ouvrez la console de votre navigateur ( ? ) et entrez les informations suivantes:

javascript:alert(document.lastModified)
49
Vaux42

Il existe un autre moyen 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 savoir quelle (s) date (s) a été (s) enregistrée (s) par eux (ces méthodes ne fonctionnent pour aucune page et ont quelques limitations, qui font l’objet de recherches approfondies dans ce webmasters.stackexchange les réponses aux questions , mais dans de nombreux cas, ils peuvent vous aider à connaître la ou les date (s) de mise à jour de la page:

  1. Manière Google: allez par 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 modifier le texte dans le champ de recherche à l'aide de l'URL de la page de votre choix.
    • Par exemple, la page de question actuelle de stackoverflow search nous donne comme résultat le 14 mai 2014 - qui correspond à la date de création de la question:  enter image description here
  2. Wayback machine way: Allez par lien https://web.archive.org/web/*/www.example.com
    • pour cette page wayback stackoverflow machine 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
9
hooke

Pour vérifier l'en-tête Last Modified, vous pouvez utiliser httpie ( docs ).

Installation

pip install httpie --user

Usage

$ 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

La Date est importante car elle indique l'heure du serveur, pas votre heure locale. De plus, tous les serveurs n’envoient pas Last-Modified (par exemple, le superutilisateur ne semble pas le faire).

4
Martin Thoma

une façon pythonique de faire cela à 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, de vérification des modifications par rapport à la nouvelle version et d'alerte par courrier électronique. 

0
Marc Maxmeister

J'ai écrit un blog à ce sujet, qui montre quelques étapes simples pour vérifier la date et l'heure de la dernière mise à jour de votre site Web . https://sachinapatel.wordpress.com/ le premier article de blog

0
sapatel93