Rumah  >  Artikel  >  hujung hadapan web  >  Bilakah CORS Menggunakan Permintaan Prapenerbangan dalam Senario Merentas Domain?

Bilakah CORS Menggunakan Permintaan Prapenerbangan dalam Senario Merentas Domain?

DDD
DDDasal
2024-10-18 21:48:30377semak imbas

When Does CORS Use a Preflight Request in Cross-Domain Scenarios?

CORS: Memahami Permintaan 'Prelight' untuk Permintaan Merentas Domain

Perkongsian sumber silang asal (CORS) menimbulkan cabaran apabila membuat HTTP permintaan merentas domain. Untuk menangani had ini, permintaan prapenerbangan telah diperkenalkan sebagai penyelesaian.

Permintaan Prapenerbangan Dijelaskan

Permintaan prapenerbangan ialah permintaan OPTIONS yang mendahului permintaan sebenar (seperti GET atau POST ) dan berkhidmat untuk berunding dengan pelayan mengenai kebenaran permintaan. Permintaan ini termasuk dua pengepala tambahan:

  • Kaedah-Permintaan-Kawalan-Akses: Menentukan kaedah permintaan sebenar.
  • Kawalan-Akses -Request-Headers: Menyenaraikan pengepala yang akan disertakan dalam permintaan sebenar.

Mengkonfigurasi Respons Pelayan

Untuk mengendalikan permintaan prapenerbangan, pelayan mesti bertindak balas dengan pengepala berikut:

  • Access-Control-Allow-Origin: Memberi kebenaran kepada asal yang dinyatakan dalam permintaan.
  • Access-Control-Allow-Methods: Menentukan kaedah yang dibenarkan untuk permintaan sebenar.
  • Access-Control-Allow-Headers: Menyenaraikan pengepala yang dibenarkan oleh penyemak imbas. hantarkan permintaan sebenar.

Pelaksanaan Preflight Sisi Pelanggan

Untuk permintaan pra-penerbangan berjaya, pelanggan mesti menyertakan pengubahsuaian berikut:

  • Hantar permintaan OPTIONS: Sebelum permintaan sebenar, hantar permintaan OPTIONS dengan pengepala Access-Control-Request-* yang sesuai.
  • Sertakan yang diperlukan pengepala: Pastikan permintaan sebenar mengandungi semua pengepala yang dinyatakan dalam pengepala respons Access-Control-Allow-Headers.

Contoh:

Pertimbangkan permintaan prapenerbangan untuk permintaan POST untuk mengambil data daripada URL jauh.

Permintaan Prapenerbangan:

  • Asal: https://yourdomain.com
  • Access-Control-Allow-Origin: https://yourdomain.com
Access-Control-Allow-Methods : POST

Access-Control-Allow-Header: X-Custom-Header

  • Permintaan Sebenar:
  • Asal: https://yourdomain.com
Kaedah: POST

X-Custom-Header: value

    Dengan mengikuti langkah-langkah ini, anda boleh mendahului permintaan HTTP dengan berkesan ke atasi pengehadan merentas domain menggunakan CORS.

Atas ialah kandungan terperinci Bilakah CORS Menggunakan Permintaan Prapenerbangan dalam Senario Merentas 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