← Artikel

HTTP FIELD GUIDE

CORS dan permintaan HTTP browser

Mengapa cURL berhasil tetapi permintaan yang sama dari halaman web gagal?

Mengapa browser memblokir?

Halaman web mengikuti kebijakan asal yang sama. Untuk fetch lintas asal, server tujuan harus mengizinkan akses lewat header CORS. Beberapa metode dan header memicu permintaan OPTIONS prapemeriksaan. Jika pemeriksaan gagal, permintaan sebenarnya mungkin tidak dikirim.

Apa bedanya cURL?

cURL tidak tunduk pada aturan CORS browser. Keberhasilan di terminal hanya membuktikan endpoint dapat dijangkau dari mesin itu, bukan bahwa halaman web dapat membaca responsnya. Browser juga mengendalikan header seperti Host dan Cookie serta dapat memblokir HTTP tidak aman dari halaman HTTPS.

Bagaimana memeriksanya?

Periksa permintaan prapemeriksaan, Origin, dan header respons di panel Network. Pastikan Access-Control-Allow-Origin serta metode dan header yang diizinkan sesuai. Mode no-cors bukan solusi: respons menjadi opaque dan status, header, serta isinya tidak dapat dibaca. Jika API tidak mendukung CORS, gunakan klien lokal tepercaya atau relay yang diamankan.

Referensi