Cross‐Origin Resource Sharing (CORS) - Rian010/Journal GitHub Wiki
Cross-Origin Resource Sharing (CORS) adalah mekanisme keamanan yang memungkinkan satu domain web (misalnya, https://www.example.com
) untuk mengakses sumber daya dari domain lain (misalnya, https://api.example.com
). Mekanisme ini penting untuk berbagai aplikasi web modern, seperti:
1. Single-page applications (SPAs):
- SPAs adalah aplikasi web yang dimuat dalam satu halaman web dan kemudian memperbarui kontennya secara dinamis tanpa memuat ulang halaman.
- SPAs sering kali perlu mengakses data dari API yang terletak di domain yang berbeda.
- CORS memungkinkan SPAs untuk mengakses API ini dengan aman.
2. Widget web:
- Widget web adalah elemen kecil yang dapat disematkan di halaman web, seperti tombol media sosial atau widget cuaca.
- Widget web sering kali perlu mengakses data dari domain yang berbeda.
- CORS memungkinkan widget web untuk mengakses data ini dengan aman.
3. Mashup:
- Mashup adalah aplikasi web yang menggabungkan data dan fungsionalitas dari beberapa sumber web yang berbeda.
- Mashup sering kali perlu mengakses sumber daya dari domain yang berbeda.
- CORS memungkinkan mashup untuk mengakses sumber daya ini dengan aman.
Cara kerja CORS:
Ketika browser web mencoba untuk mengakses sumber daya dari domain lain, browser akan terlebih dahulu mengirim permintaan preflight ke server yang dihosting di domain sumber daya. Permintaan preflight ini berisi informasi tentang permintaan yang sebenarnya, seperti metode HTTP dan header yang akan digunakan. Server kemudian akan merespons dengan header CORS yang menunjukkan apakah browser diizinkan untuk mengakses sumber daya. Jika browser diizinkan untuk mengakses sumber daya, browser akan kemudian mengirim permintaan yang sebenarnya.
Header CORS:
Header CORS adalah header HTTP yang digunakan oleh server untuk mengontrol akses ke sumber daya. Beberapa header CORS yang penting adalah:
Access-Control-Allow-Origin
: Header ini menunjukkan domain mana yang diizinkan untuk mengakses sumber daya.Access-Control-Allow-Methods
: Header ini menunjukkan metode HTTP mana yang diizinkan untuk digunakan saat mengakses sumber daya.Access-Control-Allow-Headers
: Header ini menunjukkan header HTTP mana yang diizinkan untuk digunakan dalam permintaan ke sumber daya.Access-Control-Max-Age
: Header ini menunjukkan berapa lama browser dapat menyimpan hasil permintaan preflight.
Kesimpulan:
CORS adalah mekanisme keamanan penting yang memungkinkan aplikasi web modern untuk mengakses sumber daya dari domain lain dengan aman.
Sumber informasi:
- Wikipedia: https://en.wikipedia.org/wiki/Cross-origin_resource_sharing
- MDN Web Docs: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
Semoga informasi ini membantu!