سرفصل‌های آموزشی
آموزش RESTful API
درآمدی بر مفهوم CORS

درآمدی بر مفهوم CORS

به طور کلی، مرورگر صرفاً می‌تواند به وب‌سایتی که در حال نمایش‌اش است ریکوئست ارسال کند. برای مثال، اگر وب‌سایتی به آدرس https://example.com در حال نمایش در مرورگر است، مرورگر فقط و فقط می‌تواند به همین آدرس ریکوئست ارسال کند و اگر مثلاً به آدرسی همچون https://second-example.com درخواست دهد، جلوی آن گرفته می‌شود که چنین چیزی اصطلاحاً Same Origin Policy نامیده می‌شود.

به هر حال در توسعهٔ وب‌ اپلیکیشن‌ها مواقعی پیش خواهد آمد که نیاز به ارسال ریکوئست به دیگر سرورها داریم که یکی از راه‌های عملی کردن چنین تَسکی، مفهومی تحت عنوان Cross-Origin Resource Sharing یا به اختصار CORS است که این امکان را در اختیار وب سرور قرار می‌دهد تا بتواند ریسورس‌هایش را در اختیار دیگر وب سرور (سایت‌ها) بگذارد. به منظور پیاده‌سازی این امکان، صرفاً نیاز است تا در ریسپانس هِدِری به صورت زیر سِت کنیم:

Access-Control-Allow-Origin: *

در حقیقت،‌ اگر ای‌پی‌آی ما قرار است تا به صورت پابلیک (عمومی) عرضه شود، مقدار * این امکان را در اختیار وب سرور می‌گذارد تا دسترسی تمامی دیگر دامنه‌ها را امکان‌پذیر سازد. در عین حال، در برخی مواقع می‌توانیم مشخص سازیم که چه دامنه‌هایی امکان دسترسی به ای‌پی‌آی ما را داشته باشند به طوری که مثلاً داریم:

Access-Control-Allow-Origin: https://example.com

هِدِر فوق این دستور را به وب سرورمان می‌دهد که فقط و فقط سایتی با دامنهٔ https://example.com امکان دسترسی به ای‌پی‌آی را دارا است (برای کسب اطلاعات بیشتر، می‌توانید به وب‌سایت Enable CORS مراجعه نمایید.)

online-support-icon