Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. HTTP
  3. Référence
  4. Méthodes de requête
  5. OPTIONS

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

Méthode de requête OPTIONS

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.

La méthode HTTPOPTIONS est utilisée pour décrire les options de communication pour la ressource ciblée. Le client peut renseigner une URL spécifique pour la méthode OPTIONS, ou une astérisque (*) pour interroger le serveur dans sa globalité.

La requête a un corpsNon
La réponse de succès a un corpsOui
SûreOui
IdempotenteOui
Mis en cacheNon
Autorisée dansles formulaires HTMLNon

* Bien qu'un messageOPTIONS avec un corps de requête soit techniquement autorisé, il n'a pas de sémantique définie.Vous pouvez inclure un corps dans un messageOPTIONS tant que vous fournissez un en-têteContent-Type valide, et uniquement si vous savez que le serveur l'attend, car le comportement dépend de l'implémentation.

Syntaxe

http
OPTIONS *|<request-target>["?"<query>] HTTP/1.1

La cible de la requête peut être soit sous « la forme d'une astérisque »* indiquant le serveur dans sa globalité, soit une cible de requête comme pour les autres méthodes :

*

Indique que le client souhaite demanderOPTIONS pour le serveur dans sa globalité, par opposition à une ressource nommée spécifique de ce serveur.

<request-target>

Identifie la ressource cible de la requête lorsqu'elle est combinée avec l'information fournie dans l'en-têteHost.Il s'agit d'un chemin absolu (par exemple/chemin/vers/fichier.html) dans les requêtes vers un serveur d'origine, et d'une URL absolue dans les requêtes vers les serveurs mandataires (proxies) (par exemplehttp://www.exemple.fr/chemin/vers/fichier.html).

<query>Facultatif

Un fragment de requête optionnel précédé d'un point d'interrogation?.Souvent utilisé pour transmettre des informations sous la forme de pairesclé=valeur.

Exemples

Identifier les méthodes HTTP autorisées

Pour connaître les méthodes de requête supportées par un serveur, vous pouvez utiliser le programme en ligne de commandecurl pour envoyer une requêteOPTIONS :

bash
curl -X OPTIONS https://exemple.org -i

Cela génère la requête HTTP suivante :

http
OPTIONS / HTTP/2Host: exemple.orgUser-Agent: curl/8.7.1Accept: */*

La réponse contient un en-têteAllow qui liste les méthodes autorisées :

http
HTTP/1.1 204 No ContentAllow: OPTIONS, GET, HEAD, POSTCache-Control: max-age=604800Date: Thu, 13 Oct 2016 11:45:00 GMTServer: EOS (lax004/2813)

Requêtes de pré-vérification en CORS

EnCORS, unerequête de pré-vérification est envoyée avec la méthodeOPTIONS afin que le serveur indique si la requête est acceptable avec les paramètres spécifiés. Dans cet exemple, nous demandons l'autorisation pour ces paramètres :

  • L'en-têteAccess-Control-Request-Method envoyé dans la requête de pré-vérification indique au serveur que lorsque la véritable requête sera envoyée, elle utilisera la méthodePOST.
  • L'en-têteAccess-Control-Request-Headers indique au serveur que lorsque la véritable requête sera envoyée, elle comportera les en-têtesX-PINGOTHER etContent-Type.
http
OPTIONS /resources/post-here/ HTTP/1.1Host: toto.exempleAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: en-us,en;q=0.5Accept-Encoding: gzip,deflateConnection: keep-aliveOrigin: https://tata.exempleAccess-Control-Request-Method: POSTAccess-Control-Request-Headers: content-type,x-pingother

Le serveur peut alors indiquer s'il accepte une requête dans ces conditions. Dans cet exemple, la réponse du serveur précise :

Access-Control-Allow-Origin

L'originehttps://tata.exemple est autorisée à demander l'URLtoto.exemple/resources/post-here/ selon les paramètres suivants :

Access-Control-Allow-Methods

POST,GET etOPTIONS sont des méthodes autorisées pour l'URL. (Cet en-tête est similaire à l'en-tête de réponseAllow, mais utilisé uniquement dans le contexteCORS.)

Access-Control-Allow-Headers

X-PINGOTHER etContent-Type sont des en-têtes de requête autorisés pour l'URL.

Access-Control-Max-Age

Les autorisations ci-dessus peuvent être mises en cache pendant 86 400 secondes (1 jour).

http
HTTP/1.1 200 OKDate: Mon, 01 Dec 2008 01:15:39 GMTServer: Apache/2.0.61 (Unix)Access-Control-Allow-Origin: https://tata.exempleAccess-Control-Allow-Methods: POST, GET, OPTIONSAccess-Control-Allow-Headers: X-PINGOTHER, Content-TypeAccess-Control-Max-Age: 86400Vary: Accept-Encoding, OriginKeep-Alive: timeout=2, max=100Connection: Keep-Alive

Note :Les codes d'état200 OK et204 No Content sont tous deuxautorisés(angl.), mais certains navigateurs considèrent à tort que204 No Content s'applique à la ressource et n'envoient pas de requête suivante pour la récupérer.

Spécifications

Specification
HTTP Semantics
# OPTIONS

Compatibilité des navigateurs

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