Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. HTTP
  3. Référence
  4. En-têtes
  5. Prefer

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

En-tête Prefer

L'en-tête HTTPPrefer permet aux client·e·s d'indiquer des préférences pour des comportements spécifiques du serveur lors du traitement d'une requête.

Note :Les navigateurs ne gèrent pas les en-têtesPrefer etPreference-Applied : ils sont utilisés dans des clients personnalisés, spécifiques à l'implémentation.Assurez-vous que le client et le serveur prennent en charge cet en-tête avant de l'utiliser en production.

Les serveurs doivent ignorer silencieusement les préférences qu'ils ne prennent pas en charge, comme si l'en-tête n'était pas présent.

Type d'en-têteEn-tête de requête
En-tête de requête interditNon

Syntaxe

http
Prefer: <preference>, <preference>, ...

Directives

respond-async

Le client préfère un traitement asynchrone.Par exemple, le serveur peut répondre avec202 Accepted indiquant que la requête a été acceptée, accompagné de l'en-têteLocation contenant une URL que le client peut utiliser pour suivre l'état du traitement.

return=minimal

Demande au serveur de retourner un contenu minimal (une réponse contenant uniquement les en-têtes).

return=representation

Demande une représentation complète de la ressource dans la réponse.

wait=<seconds>

Le temps dans lequel le client attend que le serveur fournisse une réponse, à partir du moment où la requête a été reçue.Si la préférencerespond-async est également fournie, le serveur doit répondre de façon asynchrone si le traitement dépasse le temps d'attente.Sinon, le serveur doit considérer que le client abandonnera après le temps indiqué (le comportement dépend de l'implémentation du serveur).

handling=lenient

Le client souhaite que le serveur applique une validation et une gestion des erreurs souples lors du traitement de la requête.

handling=strict

Le client souhaite que le serveur applique une validation et une gestion des erreurs strictes lors du traitement de la requête.

Préférence personnalisée

Les fournisseurs ou applications peuvent définir leurs propres préférences selon leurs besoins.Par exemple :Prefer: timezone=America/Los_Angeles.

Exemples

Demander une réponse minimale

La requête suivante demande une réponse minimale.Il s'agit généralement d'une réponse contenant uniquement les en-têtes (par opposition àreturn=representation où une représentation est incluse dans le corps de la réponse) :

http
POST /resource HTTP/1.1Host: exemple.comContent-Type: application/jsonPrefer: return=minimal{"id":123, "name": "abc"}

Le serveur répond avec201, mais n'inclut aucun corps de réponse.L'en-têteLocation contient une URL indiquant l'emplacement de la ressource nouvellement créée.Il n'est pas nécessaire d'inclure un en-têtePreference-Applied car l'absence de corps de réponse est évidente :

http
HTTP/1.1 201 CreatedLocation: /resource?id=123

Demander un traitement asynchrone

Cet exemple demande au serveur de démarrer une tâche de traitement asynchrone :

http
POST /process HTTP/1.1Host: exemple.comPrefer: respond-async{  "task": "check-broken-links"}

Le serveur répond avec202 Accepted indiquant que la requête a été acceptée et n'a pas encore été exécutée de façon asynchrone.Un en-têteLocation pointe vers un moniteur de statut représentant l'état du traitement :

http
HTTP/1.1 202 AcceptedLocation: http://exemple.com/tasks/123/status

Fournir plusieurs préférences

La requête suivante inclut deux préférences ;timezone=Jupiter/Red_Spot indique une préférence de fuseau horaire pour le client, ethandling=strict pour strict validation :

http
GET /events HTTP/1.1Host: exemple.comPrefer: handling=strict, timezone=Jupiter/Red_Spot

Dans cette implémentation, un fuseau horaire invalide provoquera une erreur :

http
HTTP/1.1 400 Bad Request

Spécifications

Specification
Prefer Header for HTTP
# section-2

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2026 Movatter.jp