If-Unmodified-Since: |
Si non-modifié depuis |
---|---|
HTTP | Entêtes |
Syntaxe
If-Unmodified-Since: day-name, day month year hour:minute:second GMT |
Paramètres
Nom | Description | |
---|---|---|
day-name | Ce paramètre permet d'indiquer le nom du jour de la semaine : | |
Valeur | Description | |
Mon | Cette valeur permet d'indiquer le Lundi. | |
Tue | Cette valeur permet d'indiquer le Mardi. | |
Wed | Cette valeur permet d'indiquer le Mercredi. | |
Thu | Cette valeur permet d'indiquer le Jeudi. | |
Fri | Cette valeur permet d'indiquer le Vendredi. | |
Sat | Cette valeur permet d'indiquer le Samedi. | |
Sun | Cette valeur permet d'indiquer le Dimanche. | |
day | Ce paramètre permet d'indiquer le jour du mois. Le nombre doit toujours avoir 2 chiffres. Ainsi, le 2 du mois, correspondra à «02». | |
day-name | Ce paramètre permet d'indiquer le nom du jour de la semaine : | |
Valeur | Description | |
Jan | Cette valeur permet d'indiquer le mois de Janvier. | |
Feb | Cette valeur permet d'indiquer le mois de Février. | |
Mar | Cette valeur permet d'indiquer le mois de Mars. | |
Apr | Cette valeur permet d'indiquer le mois de Avril. | |
May | Cette valeur permet d'indiquer le mois de Mai. | |
Jun | Cette valeur permet d'indiquer le mois de Juin. | |
Jul | Cette valeur permet d'indiquer le mois de Juillet. | |
Aug | Cette valeur permet d'indiquer le mois de Août. | |
Sep | Cette valeur permet d'indiquer le mois de Septembre. | |
Oct | Cette valeur permet d'indiquer le mois d'Octobre. | |
Nov | Cette valeur permet d'indiquer le mois de Novembre. | |
Dec | Cette valeur permet d'indiquer le mois de Décembre. | |
year | Ce paramètre permet d'indiquer l'année. Le nombre doit toujours avoir 4 chiffres. | |
hour | Ce paramètre permet d'indiquer l'heure de la journée. | |
minute | Ce paramètre permet d'indiquer les minutes. | |
second | Ce paramètre permet d'indiquer les secondes. | |
GMT | Ce paramètre permet d'indiquer l'heure basé sur le Méridien de Greenwich. Les dates en HTTP sont toujours formulé en GMT par convention et elle ne doit jamais être l'heure locale. |
Description
Ce champ d'entête permet d'indiquer que le serveur renverra la ressource demandée, ou l'acceptera dans le cas d'un POST ou d'une autre méthode non sûre, uniquement si elle n'a pas été modifiée pour la dernière fois après la date spécifié.
Remarques
- Le champ d'entête If-Unmodified-Since: conditionne la méthode de requête à la date de dernière modification de la représentation sélectionnée étant antérieure ou égale à la date fournie dans la valeur de champ. Ce champ remplit le même objectif que If-Match: dans les cas où l'agent utilisateur n'a pas de balise d'entité pour la représentation.
- Un destinataire doit ignorer If-Unmodified-Since: si la requête contient un champ d'entête If-Match:; la condition dans If-Match: est considérée comme un remplacement plus précis de la condition dans If-Unmodified-Since:, et les deux ne sont combinées que dans le but d'interopérer avec des intermédiaires plus anciens pouvant ne pas mettre en oeuvre If-Match:.
- Un destinataire doit ignorer le champ d'entête If-Unmodified-Since: si la valeur de champ reçue n'est pas une date HTTP valide.
- Un destinataire doit interpréter l'horodatage d'une valeur de champ If-Unmodified-Since: en termes d'horloge du serveur d'origine.
- Le champ d'entête If-Unmodified-Since: est le plus souvent utilisé avec des méthodes de changement d'état (par exemple, POST, PUT, DELETE) pour éviter les remplacements accidentels lorsque plusieurs agents utilisateurs peuvent agir en parallèle sur une ressource ne fournissant pas de balises d'entité avec ses représentations (c'est-à-dire pour éviter le problème de perte de mise à jour). Il peut également être utilisé avec des méthodes sûres pour abandonner une demande si la représentation sélectionnée ne correspond pas à une déjà entreposée (ou partiellement entreposée) d'une requête précédente.
- Un serveur d'origine recevant un champ d'entête If-Unmodified-Since: doit évaluer la condition avant d'exécuter la méthode. Le serveur d'origine ne doit pas exécuter la méthode demandée si la dernière date de modification de la représentation sélectionnée est plus récente que la date indiquée dans la valeur de champ; au lieu de cela, le serveur d'origine doit répondre avec le code d'état 412 Precondition Failed ou l'un des codes d'état 2xx Successful si le serveur d'origine a vérifié qu'un changement d'état est demandé et que l'état final est déjà reflété dans l'état actuel de la ressource cible (c'est-à-dire que la modification demandée par l'agent utilisateur a déjà réussi, mais l'agent utilisateur peut ne pas le savoir car le message de réponse précédent a été perdu ou un blocage compatible a été effectué par un autre agent utilisateur). Dans ce dernier cas, le serveur d'origine ne doit pas envoyer de champ d'entête de validateur dans la réponse, sauf s'il peut vérifier que la demande est un double d'une modification immédiatement antérieure effectuée par le même agent utilisateur.
- Le champ d'entête If-Unmodified-Since: peut être ignoré par les caches et les intermédiaires car il ne s'applique pas à une réponse entreposée.
Dernière mise à jour : Vendredi, le 10 janvier 2020