CORS: Preflighting HTTPRequests
Cross-Origin Resource Sharing (CORS) menimbulkan pengehadan pada permintaan HTTP merentas domain. Untuk menangani cabaran ini, permintaan prapenerbangan boleh digunakan. Dalam konteks ini, permintaan prapenerbangan melibatkan penghantaran permintaan OPTIONS kepada pelayan sebelum permintaan sebenar dibuat. Ini membolehkan pelayan mengesahkan bahawa permintaan itu dibenarkan dan memberikan kebenaran yang diperlukan.
Cara Pra-Penerbangan Permintaan
Pralighting permintaan HTTP melibatkan penghantaran permintaan OPTIONS dengan pengepala khusus, menunjukkan kaedah dan pengepala yang diingini untuk permintaan sebenar. Pelayan bertindak balas dengan pengepala yang memberikan atau menafikan kebenaran permintaan.
Respons Prapenerbangan Sisi Pelayan
Pelayan harus membalas permintaan prapenerbangan dengan pengepala berikut:
Permintaan Pra-Penerbangan Sisi Pelanggan
Dalam jQuery, teknik berikut boleh digunakan untuk pra-penerbangan permintaan:
<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>
Dengan melaksanakan perubahan ini, anda boleh memastikan bahawa permintaan HTTP merentas domain anda disahkan pra-penerbangan dan boleh diteruskan tanpa campur tangan penyemak imbas.
Atas ialah kandungan terperinci Bagaimana untuk Pra-Penerbangan Permintaan HTTP untuk Perkongsian Sumber Silang Asal (CORS)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!