(0) exportieren Drucken
Alle erweitern

Preflight-Anforderung für den Warteschlangendienst

Letzte Aktualisierung: November 2013

Durch den Preflight Queue Request-Vorgang werden die CORS (Cross-Origin Resource Sharing)-Regeln für den Warteschlangendienst abgefragt, bevor die tatsächliche Anforderung gesendet wird. Ein Webbrowser oder ein anderer Benutzer-Agent sendet eine Preflight-Anforderung, die die Ursprungsdomäne, die Methode und die Header der tatsächlichen Anforderung umfasst, die vom Agent gesendet werden soll. Wenn CORS für den Warteschlangendienst aktiviert wird, dann wertet der Warteschlangendienst die Preflight-Anforderung anhand der CORS-Regeln aus, die der Kontobesitzer über Festlegen von Warteschlangendiensteigenschaften konfiguriert hat, und akzeptiert die Anforderung bzw. weist sie zurück.

Weitere Informationen zu CORS und der Preflight-Anforderung finden Sie in der CORS-Spezifikation und unter CORS (Cross-Origin Resource Sharing)-Unterstützung für Azure-Speicherdienste

Preflight Queue Request kann wie folgt angegeben werden. Ersetzen Sie <account-name> durch den Namen eines Speicherkontos. Ersetzen Sie <queue-resource> durch den Namen der Warteschlangenressource, die das Ziel der tatsächlichen Anforderung sein soll:

 

HTTP-Verb Anforderungs-URI HTTP-Version

OPTIONS

http://<account-name> .queue.core.windows.net/<queue-resource>

HTTP/1.1

Beachten Sie, dass der URI immer einen Schrägstrich (/) enthalten muss, um den Hostnamen vom Pfad- und Abfrageteil des URIs zu trennen. Bei diesem Vorgang kann der Pfadteil des URIs leer sein oder auf eine beliebige Warteschlangenressource verweisen. Zum Zeitpunkt der Preflight-Anforderung kann die Ressource vorhanden sein bzw. nicht vorhanden sein. Die Preflight-Anforderung wird auf Dienstebene anhand der CORS-Regeln des Diensts ausgewertet, sodass das Vorhandensein bzw. Nichtvorhandensein des Ressourcennamens keinen Einfluss darauf hat, ob der Vorgang erfolgreich oder nicht erfolgreich ist.

In der folgenden Tabelle werden erforderliche und optionale Anforderungsheader beschrieben.

 

Anforderungsheader Beschreibung

Origin

Erforderlich. Gibt die Ursprungsdomäne an, von der die tatsächliche Anforderung ausgegeben wird. Die Ursprungsdomäne wird anhand der CORS-Regeln des Diensts überprüft, um zu ermitteln, ob die Preflight-Anforderung erfolgreich oder nicht erfolgreich war.

Access-Control-Request-Method

Erforderlich. Gibt die Methode (oder das HTTP-Verb) für die tatsächliche Anforderung an. Die Methode wird anhand der CORS-Regeln des Diensts überprüft, um zu ermitteln, ob die Preflight-Anforderung erfolgreich oder nicht erfolgreich war.

Access-Control-Request-Headers

Optional. Gibt die Header der tatsächlichen Anforderung an, die als Header gesendet werden. Daraufhin geht der Dienst davon aus, dass mit der tatsächlichen Anforderung keine Header gesendet wurden.

Die Antwort enthält den HTTP-Statuscode und einen Satz von Antwortheadern.

Bei einem erfolgreichen Vorgang wird der Statuscode 200 (OK) zurückgegeben.

Weitere Informationen zu Statuscodes finden Sie unter Status- und Fehlercodes.

Die Antwort für diesen Vorgang umfasst die folgenden Header. Die Antwort kann außerdem weitere HTTP-Standardheader enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.

Ausführliche Informationen zu Preflight-Anforderungsheadern finden Sie in der CORS-Spezifikation.

 

Antwortheader Beschreibung

Access-Control-Allow-Origin

Die zulässige Ursprungsdomäne, die dem Origin-Header in der Anforderung entspricht, wenn die Preflight-Anforderung erfolgreich war.

Access-Control-Allow-Methods

Wenn die Preflight-Anforderungen erfolgreich sind, wird dieser Header auf den bzw. die Wert(e) festgelegt, die für den Access-Control-Request-Method-Anforderungsheader angegeben wurden.

Access-Control-Allow-Headers

Wenn die Preflight-Anforderung erfolgreich ist, wird dieser Header auf den bzw. die Wert(e) festgelegt, die für den Access-Control-Request-Headers-Anforderungsheader angegeben wurden.

Access-Control-Max-Age

Gibt die Dauer an, über die die Preflight-Anforderung vom Benutzer-Agent für zukünftige Anforderungen zwischengespeichert werden kann.

Access-Control-Allow-Credentials

Gibt an, ob die tatsächliche Anforderung mithilfe von Anmeldeinformationen ausgeführt werden kann. Dieser Header ist immer auf true festgelegt.

Keiner.

Durch den Preflight Queue Request-Vorgang wird jede Anforderung authentifiziert, die die richtigen Authentifizierungsheader oder eine SAS (Shared Access Signature) umfasst.

Anonyme, nicht authentifizierte Anforderungen werden ebenfalls verarbeitet, und zwar unabhängig davon, ob die Ressource vorhanden ist. Das liegt daran, dass OPTIONS-Preflight-Anforderungen anhand der Kontodiensteinstellungen ausgewertet werden.

Im folgenden Beispiel wird eine Preflight-Anforderung für die Ursprungsdomäne www.contoso.com gesendet, wobei die Anforderungsmethode auf PUT und die Anforderungsheader auf content-type und accept festgelegt sind.

OPTIONS http://myaccount.queue.core.windows.net/myqueue  HTTP/1.1
Accept: */*
Origin: www.contoso.com
Access-Control-Request-Method: PUT
Access-Control-Request-Headers: content-type, accept
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
Content-Length: 0

Die Antwort gibt an, dass CORS für den Dienst aktiviert wurde und dass eine CORS-Regel mit der Preflight-Anforderung übereinstimmt.

HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 60
Access-Control-Allow-Methods: PUT
Access-Control-Allow-Headers: accept,content-type

Wenn CORS für den Dienst aktiviert wurde und eine CORS-Regel mit der Preflight-Anforderung übereinstimmt, antwortet der Dienst mit Statuscode 200 (OK) auf die Preflight-Anforderung. Die Antwort enthält die erforderlichen Access-Control-Header. In diesem Fall wird die Anforderung berechnet.

Wenn CORS nicht aktiviert ist oder keine CORS-Regel eine Übereinstimmung mit der Preflight-Anforderung aufweist, antwortet der Dienst mit Statuscode 403 (Forbidden). In diesem Fall wird die Anforderung nicht berechnet.

Wenn die OPTIONS-Anforderung ein fehlerhaftes Format aufweist, antwortet der Dienst mit Statuscode 400 (Bad Request), und die Anforderung wird nicht berechnet. Eine Anforderung mit einem ungültigen Format liegt z. B. vor, wenn die Anforderung nicht den erforderlichen Origin-Header und den erforderlichen Access-Control-Request-Method-Header enthält.

Beachten Sie, dass die Preflight-Anforderung ein Mechanismus zur Abfrage der CORS-Funktion eines Speicherdiensts ist, der einem bestimmten Speicherkonto zugeordnet ist. Die Preflight-Anforderung hat keine bestimmte Ressource als Ziel.

Siehe auch

Anzeigen:
© 2014 Microsoft