CORS (Cross-origin resource sharing) adalah mekanisme standar yang memungkinkan panggilan XMLHttpRequest (XHR) yang dieksekusi di halaman web berinteraksi dengan resource dari asal yang berbeda. Tanpa CORS, kebijakan origin yang sama yang diterapkan oleh semua browser akan mencegah permintaan lintas origin. Untuk mengetahui informasi latar belakang selengkapnya tentang CORS, lihat dokumentasi referensi Mozilla Developer Network (MDN).
Standar CORS mewajibkan klien web mengeluarkan preflight CORS OPTIONS untuk menentukan apakah server web yang diminta mendukung CORS. Jika mendukung permintaan CORS, server web akan menangani permintaan OPTIONS dengan header respons CORS yang tepat.
Menangani CORS di aplikasi backend Anda
Jika backend Anda mendukung CORS, Anda dapat mengonfigurasi ESP atau ESPv2 untuk meneruskan permintaan CORS ke backend Anda. Anda dapat mengaktifkan penerusan di spesifikasi OpenAPI untuk API Anda seperti yang ditunjukkan:
swagger: "2.0" host: "my-cool-api.endpoints.my-project-id.cloud.goog" x-google-endpoints: - name: "my-cool-api.endpoints.my-project-id.cloud.goog" allowCors: True
Anda juga dapat mengaktifkan penerusan di spesifikasi OpenAPI 3.x untuk API Anda seperti yang ditunjukkan:
openapi: 3.0.4 servers: - url: https://my-cool-api.endpoints.my-project-id.cloud.goog x-google-endpoint: allowCors: True
Menangani CORS dengan ESP atau ESPv2
Jika backend Anda tidak mendukung CORS, Anda dapat mengonfigurasi ESP atau ESPv2 untuk menangani permintaan CORS dengan menentukan flag peluncuran CORS. Dengan pendekatan ini, permintaan Preflight CORS tidak akan diteruskan ke aplikasi backend Anda. Selain itu, ESP atau ESPv2 akan menambahkan header CORS yang dikonfigurasi ke respons dari layanan backend jika sesuai.
Opsi startup CORS berikut tersedia untuk ESP dan ESPv2