Passer au contenu principal

Qu'est-ce que l'en-tête HTTP Last-Modified ?

L’entête HTTP de réponse Last-Modified est une marque temporelle qui indique la date et l’heure auxquelles la ressource a été modifiée pour la dernière fois sur le serveur d’origine. Il sert de validateur pour déterminer si une ressource reçue est identique à celle précédemment stockée.

Voici comment cela fonctionne entre le serveur et le navigateur :

  1. Le navigateur envoie une requête HTTP pour une ressource spécifique sur le serveur.
  2. Le serveur génère une réponse et y attache un entête Last-Modified.
  3. Le serveur envoie la réponse avec l’entête Last-Modified au navigateur.
  4. Lorsque le navigateur fait une nouvelle requête pour la même ressource, il inclut l’entête If-Modified-Since avec la valeur Last-Modified qu’il a reçue précédemment.
  5. Si la ressource n’a pas été modifiée sur le serveur (c’est-à-dire que la date/heure Last-Modified est toujours la même), le serveur renvoie un statut 304 Not Modified sans corps de réponse. Dans ce cas, le navigateur utilise la version de la ressource qu’il a en cache.
  6. En revanche, si la ressource a été modifiée, le serveur renvoie la nouvelle ressource avec un statut 200 OK et un nouvel entête Last-Modified.

L’entête HTTP de réponse Last-Modified  est moins précis que le ETag.