Heim  >  Artikel  >  Web-Frontend  >  Wann verwendet CORS eine Preflight-Anfrage in domänenübergreifenden Szenarien?

Wann verwendet CORS eine Preflight-Anfrage in domänenübergreifenden Szenarien?

DDD
DDDOriginal
2024-10-18 21:48:30477Durchsuche

When Does CORS Use a Preflight Request in Cross-Domain Scenarios?

CORS: Verständnis der „Preflight“-Anfrage für domänenübergreifende Anfragen

Cross-Origin Resource Sharing (CORS) stellt bei der Erstellung von HTTP eine Herausforderung dar Anfragen über Domänen hinweg. Um diese Einschränkungen zu beheben, wurden Preflight-Anfragen als Problemumgehung eingeführt.

Preflight-Anfrage erklärt

Preflight-Anfragen sind OPTIONS-Anfragen, die tatsächlichen Anfragen (wie GET oder POST) vorausgehen ) und dienen dazu, mit dem Server über die Berechtigungen der Anfrage auszuhandeln. Diese Anfragen enthalten zwei zusätzliche Header:

  • Access-Control-Request-Method: Gibt die Methode der eigentlichen Anfrage an.
  • Access-Control -Request-Headers: Listet die Header auf, die in die eigentliche Anfrage aufgenommen werden.

Konfigurieren der Serverantwort

Um Preflight-Anfragen zu verarbeiten, Der Server muss mit den folgenden Headern antworten:

  • Access-Control-Allow-Origin: Gewährt dem in der Anfrage angegebenen Ursprung die Berechtigung.
  • Access-Control-Allow-Methods: Gibt die für die eigentliche Anfrage zulässigen Methoden an.
  • Access-Control-Allow-Headers: Listet die Header auf, die der Browser verwenden darf Senden Sie die eigentliche Anfrage.

Clientseitige Preflight-Implementierung

Damit die Preflight-Anfrage erfolgreich ist, muss der Kunde die folgenden Änderungen vornehmen:

  • Senden Sie eine OPTIONS-Anfrage: Senden Sie vor der eigentlichen Anfrage eine OPTIONS-Anfrage mit den entsprechenden Access-Control-Request-*-Headern.
  • Erforderliche Angaben einschließen Header: Stellen Sie sicher, dass die tatsächliche Anfrage alle im Access-Control-Allow-Headers-Antwortheader angegebenen Header enthält.

Beispiel:

Erwägen Sie eine Preflight-Anfrage für eine POST-Anfrage zum Abrufen von Daten von einer Remote-URL.

Preflight-Anfrage:

  • Ursprung: https://yourdomain.com
  • Access-Control-Request-Method: POST
  • Access-Control-Request-Headers: X-Custom-Header

Serverantwort (POST vorausgesetzt und : POST

Access-Control-Allow-Headers: X-Custom-Header
  • Eigentliche Anfrage:
Ursprung: https://yourdomain.com

Methode: POST

X-Custom-Header: Wert
  • Indem Sie diese Schritte befolgen, können Sie HTTP-Anfragen effektiv vorab testen Überwinden Sie domänenübergreifende Einschränkungen mit CORS.

Das obige ist der detaillierte Inhalt vonWann verwendet CORS eine Preflight-Anfrage in domänenübergreifenden Szenarien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn