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
.