Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. HTTP
  3. Reference
  4. Request methods
  5. OPTIONS

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

OPTIONS request method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.

DieOPTIONS HTTP-Methode fordert zulässige Kommunikationsoptionen für eine bestimmte URL oder einen Server an. Diese kann verwendet werden, um die erlaubten HTTP-Methoden für eine Anfrage zu testen oder um festzustellen, ob eine Anfrage erfolgreich wäre, wenn eine CORS-Preflight-Anfrage gestellt wird. Ein Client kann mit dieser Methode eine URL angeben oder ein Sternchen (*), um den gesamten Server zu adressieren.

Anfrage hat einen BodyKann*
Erfolgreiche Antwort hat einen BodyKann
SicherJa
IdempotentJa
CachefähigNein
In HTML-Formularen erlaubtNein

* Obwohl eineOPTIONS Nachricht mit einem Anfrage-Body technisch erlaubt ist, hat sie keine definierten Semantiken. Sie können einen Body in einerOPTIONS Nachricht einschließen, solange Sie einen gültigenContent-Type-Header bereitstellen und wenn Sie wissen, dass der Server ihn erwartet, da das Verhalten implementierungsspezifisch ist.

Syntax

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

Das Anforderungsziel kann entweder in 'Asterisk-Form'* sein, was den gesamten Server anzeigt, oder ein Anforderungsziel, wie es bei anderen Methoden üblich ist:

*

Zeigt an, dass der ClientOPTIONS für den gesamten Server anfordern möchte, im Gegensatz zu einer bestimmten benannten Ressource dieses Servers.

<request-target>

Identifiziert das Ziel der Anforderung in Kombination mit den Informationen, die imHost Header bereitgestellt werden. Dies ist ein absoluter Pfad (z.B./path/to/file.html) in Anforderungen an einen Ursprungserver und eine absolute URL in Anforderungen an Proxys (z.B.http://www.example.com/path/to/file.html).

<query>Optional

Ein optionaler Abfragebestandteil, der durch ein Fragezeichen? eingeleitet wird. Wird oft verwendet, um identifizierende Informationen in Form vonkey=value Paaren zu tragen.

Beispiele

Identifizierung erlaubter Anfragemethoden

Um herauszufinden, welche Anfragemethoden ein Server unterstützt, kann man das Kommandozeilenprogrammcurl verwenden, um eineOPTIONS-Anfrage zu stellen:

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

Dies erzeugt die folgende HTTP-Anfrage:

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

Die Antwort enthält einenAllow-Header, der die erlaubten Methoden enthält:

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)

Preflight-Anfragen in CORS

InCORS wird mit der MethodeOPTIONS einePreflight-Anfrage gesendet, damit der Server antworten kann, ob es akzeptabel ist, die Anfrage zu senden. In diesem Beispiel werden wir um Erlaubnis für diese Parameter bitten:

  • DerAccess-Control-Request-Method Header, der in der Preflight-Anfrage gesendet wird, teilt dem Server mit, dass die tatsächliche Anfrage, wenn sie gesendet wird, einePOST-Anfragemethode haben wird.
  • DerAccess-Control-Request-Headers Header teilt dem Server mit, dass die tatsächliche Anfrage die HeaderX-PINGOTHER undContent-Type haben wird.
http
OPTIONS /resources/post-here/ HTTP/1.1Host: bar.exampleAccept: 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://foo.exampleAccess-Control-Request-Method: POSTAccess-Control-Request-Headers: content-type,x-pingother

Der Server kann nun antworten, ob er eine Anfrage unter diesen Umständen akzeptiert. In diesem Beispiel sagt die Serverantwort:

Access-Control-Allow-Origin

Der Ursprunghttps://foo.example darf die URLbar.example/resources/post-here/ über Folgendes anfragen:

Access-Control-Allow-Methods

POST,GET undOPTIONS sind erlaubte Methoden für die URL. (Dieser Header ist demAllow Antwortheader ähnlich, wird aber nur fürCORS verwendet.)

Access-Control-Allow-Headers

X-PINGOTHER undContent-Type sind erlaubte Anfrage-Header für die URL.

Access-Control-Max-Age

Die obigen Berechtigungen können für 86.400 Sekunden (1 Tag) zwischengespeichert werden.

http
HTTP/1.1 200 OKDate: Mon, 01 Dec 2008 01:15:39 GMTServer: Apache/2.0.61 (Unix)Access-Control-Allow-Origin: https://foo.exampleAccess-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

Hinweis:Sowohl200 OK als auch204 No Content sinderlaubte Statuscodes, aber einige Browser glauben fälschlicherweise, dass204 No Content auf die Ressource zutrifft und senden keine nachfolgende Anfrage, um sie abzurufen.

Spezifikationen

Specification
HTTP Semantics
# OPTIONS

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp