CORS: Cara Pra-Penerbangan Permintaan HTTP
Apabila bekerja dengan permintaan HTTP merentas domain, memanfaatkan teknik seperti melaksanakan teg skrip dinamik yang sumbernya ialah URL permintaan GET mungkin tidak selalu boleh dilaksanakan, terutamanya untuk perkhidmatan yang menampung kedua-dua kaedah GET dan POST. Oleh itu, satu penyelesaian yang berkesan melibatkan mengkonfigurasi respons pelayan untuk memasukkan pengepala "Access-Control-Allow-Origin" dan permintaan prapenerbangan dengan permintaan OPTIONS.
Semasa permintaan OPTIONS prapenerbangan, penyemak imbas menyertakan dua pengepala: Access- Kaedah-Permintaan-Kawalan dan Pengepala-Permintaan-Kawalan-Kawalan. Pengepala ini menunjukkan kaedah dan pengepala yang ingin digunakan oleh klien dalam permintaan sebenar.
Untuk mendahului permintaan dengan jayanya, pelayan perlu mengakui pengepala ini dalam tindak balas praterbangnya. Contohnya, jika penyemak imbas menghantar pengepala berikut semasa permintaan prapenerbangan:
<code class="console">Origin: http://yourdomain.com Access-Control-Request-Method: POST Access-Control-Request-Headers: X-Custom-Header</code>
Respons prapenerbangan pelayan harus termasuk pengepala berikut:
<code class="console">Access-Control-Allow-Origin: http://yourdomain.com Access-Control-Allow-Methods: GET, POST Access-Control-Allow-Headers: X-Custom-Header</code>
Amat penting, "Kawalan Akses Pengepala respons -Allow-Headers" mesti termasuk pengepala yang sama yang dinyatakan dalam pengepala permintaan "Access-Control-Request-Headers" dan ia tidak seharusnya mengandungi aksara kad bebas '*'.
Setelah pelayan menghantar ini respons sebelum penerbangan, penyemak imbas akan meneruskan untuk membuat permintaan sebenar. Untuk mendapatkan maklumat lanjut dan contoh tentang pelaksanaan CORS, rujuk sumber seperti html5rocks.com/en/tutorials/cors/.
Atas ialah kandungan terperinci Bagaimana untuk Pra-penerbangan Permintaan HTTP untuk Mengendalikan Panggilan XMLHttpRequest Rentas Domain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!