CORS

CORS سازوکاری مبتنی بر HTTP header است که مشخص می‌کند مرورگر اجازه دارد پاسخ یک origin دیگر را در اختیار JavaScript بگذارد یا نه.

توضیح

origin از ترکیب scheme، host و port تشکیل می‌شود؛ سیاست same-origin دسترسی JavaScript به پاسخ origin دیگر را به‌طور پیش‌فرض محدود می‌کند. با CORS، server در header‌های پاسخ مشخص می‌کند کدام origin‌ها اجازهٔ دسترسی دارند و مرورگر این مجوز را بررسی می‌کند. برای بعضی درخواست‌ها، مرورگر ابتدا یک درخواست preflight با method برابر OPTIONS می‌فرستد تا مجاز بودن method و header‌ها را بررسی کند. CORS جایگزین احراز هویت یا کنترل دسترسی در server نیست.

مثال

فرض کن صفحه‌ای از https://app.example به https://api.example درخواست می‌فرستد. اگر API در پاسخ، header برابر Access-Control-Allow-Origin: https://app.example بفرستد، مرورگر می‌تواند پاسخ یک درخواست ساده و بدون credentials را در اختیار JavaScript آن صفحه بگذارد.

چرا مهمه

وقتی frontend و API روی origin‌های متفاوت قرار دارند، با CORS روبه‌رو می‌شوی. تنظیم درست آن باعث می‌شود مرورگر پاسخ را فقط در اختیار origin‌های مجاز بگذارد؛ خطای CORS لزوماً به معنی نرسیدن درخواست به server نیست.

این کارت را هوش مصنوعی نوشته و دو بار با هوش مصنوعی بررسی شده است.

بر پایهٔ «CORS» از MDN Web Docs (Mozilla Contributors)، با مجوز CC BY-SA 2.5. این کارت هم با همین مجوز منتشر شده است.

مطالبی با این مفهوم

هنوز مطلبی منتشر نشده.