Heim > Artikel > Web-Frontend > Wie erfolgt ein Preflight einer HTTP-Anfrage für Cross-Origin Resource Sharing (CORS)?
CORS: Preflighting von HTTPRequests
Cross-Origin Resource Sharing (CORS) führt zu Einschränkungen bei domänenübergreifenden HTTP-Anfragen. Um diesen Herausforderungen zu begegnen, können Preflight-Anfragen eingesetzt werden. In diesem Zusammenhang beinhalten Preflight-Anfragen das Senden einer OPTIONS-Anfrage an den Server, bevor die eigentliche Anfrage gestellt wird. Dadurch kann der Server überprüfen, ob die Anfrage zulässig ist, und die erforderlichen Berechtigungen bereitstellen.
So führen Sie einen Preflight einer Anfrage durch
Der Preflight einer HTTP-Anfrage erfordert das Senden einer OPTIONS-Anfrage mit spezifischen Headern, die die gewünschte Methode und Header für die tatsächliche Anfrage angeben. Der Server antwortet mit Headern, die die Anforderungsberechtigungen gewähren oder verweigern.
Serverseitige Preflight-Antwort
Der Server sollte auf Preflight-Anfragen mit den folgenden Headern antworten:
Clientseitige Preflight-Anfrage
In jQuery kann die folgende Technik zum Preflight einer Anfrage verwendet werden:
<code class="javascript">$.ajax({ url: yourUrl, type: 'OPTIONS', success: function(data, status) { // Extract and verify the preflight response headers var origin = data.getResponseHeader('Access-Control-Allow-Origin'); var methods = data.getResponseHeader('Access-Control-Allow-Methods'); var headers = data.getResponseHeader('Access-Control-Allow-Headers'); // Proceed with the actual request only if permissions are granted if (origin === 'http://mydomain.com' && methods.indexOf('POST') !== -1 && headers.indexOf('X-Custom-Header') !== -1) { // Make the actual request } else { // Handle the error and deny the request } } });</code>
Durch die Implementierung dieser Änderungen können Sie sicherstellen, dass Ihre domänenübergreifenden HTTP-Anfragen vorab überprüft werden und ohne Eingreifen des Browsers ausgeführt werden können.
Das obige ist der detaillierte Inhalt vonWie erfolgt ein Preflight einer HTTP-Anfrage für Cross-Origin Resource Sharing (CORS)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!