Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Pra-penerbangan Permintaan HTTP untuk Mengendalikan Panggilan XMLHttpRequest Rentas Domain?

Bagaimana untuk Pra-penerbangan Permintaan HTTP untuk Mengendalikan Panggilan XMLHttpRequest Rentas Domain?

Barbara Streisand
Barbara Streisandasal
2024-10-18 21:53:30220semak imbas

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

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn