Bases des technologies web
Un navigateur demande de nouveau une image reçue précédemment, en plaçant dans l'en-tête If-None-Match la valeur ETag de la réponse d'alors. Si l'image n'a pas changé sur le serveur, quelle est la réponse correcte du serveur ?
- AIl renvoie 200 OK et transmet de nouveau tout le corps de l'image, même si le contenu est identique à l'envoi précédent
- BIl renvoie 304 Not Modified sans corps, et le navigateur utilise l'image qu'il a conservée
- CIl renvoie 404 Not Found pour que le navigateur supprime l'ancienne image conservée et la récupère de nouveau
Afficher la réponse et l'explication
Réponse : B. Il renvoie 304 Not Modified sans corps, et le navigateur utilise l'image qu'il a conservée
Un ETag est un identifiant qui représente une version précise d'une ressource. Le navigateur place l'ETag dans If-None-Match pour envoyer une requête conditionnelle signifiant « envoie-la si elle a changé depuis cette version » ; si elle n'a pas changé, le serveur renvoie 304 Not Modified sans corps. La vérification ne coûte qu'un seul aller-retour et les données de l'image n'ont pas à être renvoyées. Si elle a changé, le serveur renvoie 200 OK avec le nouveau corps et un nouvel ETag. Pendant la durée fixée par max-age dans Cache-Control, le navigateur utilise sa copie sans même faire cette vérification.
Continuer : 9 autres questions sur Bases des technologies web