Heim > Web-Frontend > js-Tutorial > Wie werden HTTP-Anfragen vorab geprüft, um domänenübergreifende XMLHttpRequest-Aufrufe zu verarbeiten?

Wie werden HTTP-Anfragen vorab geprüft, um domänenübergreifende XMLHttpRequest-Aufrufe zu verarbeiten?

Barbara Streisand
Freigeben: 2024-10-18 21:53:30
Original
326 Leute haben es durchsucht

How to Preflight HTTP Requests to Handle Cross-Domain XMLHttpRequest Calls?

CORS: Anleitung zum Preflight von HTTP-Anfragen

Bei der Arbeit mit domänenübergreifenden HTTP-Anfragen können Techniken wie die Implementierung eines dynamischen Skript-Tags, dessen Quelle verwendet wird, genutzt werden ist eine GET-Anfrage-URL möglicherweise nicht immer machbar, insbesondere für Dienste, die sowohl GET- als auch POST-Methoden unterstützen. Eine effektive Problemumgehung besteht daher darin, Serverantworten so zu konfigurieren, dass sie den Header „Access-Control-Allow-Origin“ enthalten, und Anfragen mit einer OPTIONS-Anfrage vorab zu prüfen.

Während der Preflight-OPTIONS-Anfrage enthält der Browser zwei Header: Access- Control-Request-Method und Access-Control-Request-Header. Diese Header geben an, welche Methoden und Header der Client in der eigentlichen Anfrage verwenden möchte.

Um die Anfrage erfolgreich vorab zu testen, muss der Server diese Header in seiner Preflight-Antwort bestätigen. Wenn der Browser beispielsweise während der Preflight-Anfrage die folgenden Header sendet:

<code class="console">Origin: http://yourdomain.com
Access-Control-Request-Method: POST
Access-Control-Request-Headers: X-Custom-Header</code>
Nach dem Login kopieren

Die Preflight-Antwort des Servers sollte die folgenden Header enthalten:

<code class="console">Access-Control-Allow-Origin: http://yourdomain.com
Access-Control-Allow-Methods: GET, POST
Access-Control-Allow-Headers: X-Custom-Header</code>
Nach dem Login kopieren

Entscheidend ist die „Access-Control Der Antwortheader „-Allow-Headers“ muss dieselben Header enthalten, die im Anforderungsheader „Access-Control-Request-Headers“ angegeben sind, und darf nicht das Platzhalterzeichen „*“ enthalten.

Sobald der Server dies sendet Nach der Preflight-Antwort fährt der Browser mit der eigentlichen Anfrage fort. Weitere Informationen und Beispiele zur CORS-Implementierung finden Sie in Ressourcen wie html5rocks.com/en/tutorials/cors/.

Das obige ist der detaillierte Inhalt vonWie werden HTTP-Anfragen vorab geprüft, um domänenübergreifende XMLHttpRequest-Aufrufe zu verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage