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>
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>
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!