En-tête If-Range
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
L'en-tête de requête HTTP If-Range rend une requête de plage conditionnelle.
Si la condition est remplie, une requête de plage est émise, et le serveur renvoie une réponse 206 Partial Content avec une partie (ou des parties) de la ressource dans le corps.
Si la condition n'est pas remplie, la ressource complète est renvoyée avec un statut 200 OK.
Cet en-tête peut être utilisé soit avec le validateur Last-Modified, soit avec ETag, mais pas avec les deux.
Le cas d'utilisation le plus courant est de reprendre un téléchargement en garantissant que la ressource sur le serveur n'a pas été modifiée depuis que la dernière partie a été reçue par le·la client·e.
| Type d'en-tête | En-tête de requête |
|---|---|
| En-tête de requête interdit | Non |
Syntaxe
If-Range: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT
If-Range: <etag>
Directives
<etag>-
Une balise d'entité représentant de façon unique la ressource demandée. Il s'agit d'une chaîne de caractères ASCII placée entre guillemets doubles (comme
"675af34563dc-tr34"). Une balise d'entité faible (préfixée parW/) ne doit pas être utilisée dans cet en-tête. <day-name>-
L'un des mots
Mon,Tue,Wed,Thu,Fri,SatouSun(sensible à la casse). <day>-
Numéro de jour à 2 chiffres, par exemple « 04 » ou « 23 ».
<month>-
L'un des mots
Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec(sensible à la casse). <year>-
Numéro d'année à 4 chiffres, par exemple « 1990 » ou « 2018 ».
<hour>-
Numéro d'heure à 2 chiffres, par exemple « 09 » ou « 23 ».
<minute>-
Numéro de minute à 2 chiffres, par exemple « 04 » ou « 59 ».
<second>-
Numéro de seconde à 2 chiffres, par exemple « 04 » ou « 59 ».
- GMT
-
Temps sur le Méridien de Greenwich. Les dates HTTP sont toujours exprimées en GMT, jamais en heure locale.
Exemples
If-Range: Wed, 21 Oct 2015 07:28:00 GMT
If-Range: "67ab43"
Spécifications
| Specification |
|---|
| HTTP Semantics> # field.if-range> |
Compatibilité des navigateurs
Voir aussi
- Le guide des requêtes conditionnelles HTTP
- L'en-tête
ETag - L'en-tête
Last-Modified - Les en-têtes de requête conditionnelle
If-Match,If-Modified-Since,If-Unmodified-Since,If-None-Match - Les codes de statut de réponse
206 Partial Content,412 Precondition Failed,416 Range Not Satisfiable