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.
- Le navigateur envoie une requête HTTP pour une ressource spécifique sur le serveur.
- Le serveur génère une réponse et y attache un entête
Last-Modified.
- Le serveur envoie la réponse avec l’entête
Last-Modified au navigateur.
- 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.
- 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.
- 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.