Rumah > hujung hadapan web > tutorial js > Bagaimanakah Pengepala 'Access-Control-Allow-Origin' Mengawal Perkongsian Sumber Rentas Asal?

Bagaimanakah Pengepala 'Access-Control-Allow-Origin' Mengawal Perkongsian Sumber Rentas Asal?

Mary-Kate Olsen
Lepaskan: 2024-12-23 17:19:11
asal
196 orang telah melayarinya

How Does the 'Access-Control-Allow-Origin' Header Control Cross-Origin Resource Sharing?

Memahami Pengepala 'Access-Control-Allow-Origin'

Dalam bidang komunikasi merentas domain, 'Access-Control Pengepala -Allow-Origin' (ACAO) memainkan peranan yang penting. Ia mengawal cara halaman web dari asal yang berbeza, seperti domain atau subdomain yang berbeza, berinteraksi antara satu sama lain. Mari kita mendalami semantik dan mekaniknya untuk menangani salah tanggapan biasa.

Menyanggah Salah Faham

Bertentangan dengan andaian awal, pengepala ACAO tidak memberikan kebenaran luas kepada kod JavaScript kepada membuat permintaan silang asal. Sebaliknya, ia beroperasi di bawah peraturan berikut:

  • Kebenaran Khusus Asal: Pengepala ACAO menentukan asal (domain, skema dan port) yang dibenarkan untuk mengakses sumber . Contohnya, jika 'Access-Control-Allow-Origin: http://siteB.com' dikembalikan sebagai pengepala respons, ini hanya bermakna sumber di http://siteB.com boleh mengakses sumber yang diberikan.
  • Keizinan Berasaskan Respons: Pengepala ACAO dikembalikan sebagai sebahagian daripada pengepala respons pelayan. Ia menunjukkan asal yang dibenarkan untuk mendapatkan atau menghantar data daripada pelayan, tidak kira dari mana permintaan itu berasal.

Mendayakan Akses Silang Asal

Untuk mendayakan kod JavaScript di Tapak A untuk mengakses sumber di Tapak B menggunakan ACAO pengepala:

  1. Layankan Pengepala Respons: Tambah pengepala 'Access-Control-Allow-Origin: http://siteA.com' ke pengepala respons sumber di Tapak B yang anda mahu Tapak A akses.
  2. Permintaan Preflight: Untuk permintaan yang menggunakan kata kerja HTTP bukan standard (PUT, DELETE, dll.) atau pengepala permintaan bukan ringkas, penyemak imbas memulakan permintaan OPTIONS prapenerbangan untuk menyemak sama ada permintaan tersebut dibenarkan. Tapak B hendaklah memasukkan 'Kaedah-Kawalan-Allow-Kaedah' dan 'Kaedah-Kawalan-Akses-Benarkan-Pengepala' dalam pengepala tindak balas prapenerbangannya untuk memberikan kebenaran.

Nota: JSONP ialah teknik penyelesaian untuk membolehkan permintaan silang asal, tetapi ia terdedah kepada risiko keselamatan dan mempunyai fungsi terhad berbanding CORS (Perkongsian Sumber Silang Asal), yang bergantung pada pengepala ACAO.

Atas ialah kandungan terperinci Bagaimanakah Pengepala 'Access-Control-Allow-Origin' Mengawal Perkongsian Sumber Rentas Asal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan