TechBord Logo
TechBord detail

اشتراک منابع متقابل (CORS) چیست؟

مخفف "Cross-Origin Resource Sharing." CORS به اسکریپت (Script) در صفحه وب (Webpage) اجازه می دهد تا منابع را از دامنه (Domain) دیگر درخواست کند. اکثر مرورگر اینترنت (Web Browser) این نوع درخواست‌ها را به‌طور پیش‌فرض برای اهداف امنیتی مسدود می‌کنند.

یک صفحه وب می‌تواند منابع را از دامنه دیگری درخواست کند - تا زمانی که درخواست‌ها از زبان نشانه گذاری فرامتن (HTML) ارسال شوند. . به عنوان مثال، بخش

ممکن است به منابعی مانند ورق سبک آبشاری (CSS) فایل‌ها، فونت (Font) و جاوا اسکریپت (JavaScript) دامنه های دیگر را فایل کنید. به عنوان مثال می توان به اسکریپت های Google Analytics، کتابخانه های جی کوئری (jQuery) و فونت های میزبانی شده در سرور دیگری اشاره کرد. به طور مشابه، می تواند تصاویر را از یک شبکه تحویل محتوا (CDN) یا دامنه دیگر درخواست کند. درخواست‌های منبع متقاطع در HTML به مجوزهای CORS نیاز ندارند.

وقتی یک اسکریپت یا عنصر آی فریم (Iframe) یک درخواست منبع متقابل ارائه می‌کند، CORS مورد نیاز است. به عنوان مثال، یک روش آژاکس (Ajax) - که پس از بارگیری صفحه اجرا می شود - نمی تواند منبعی را از دامنه دیگری درخواست کند. CORS این تنظیم پیش‌فرض مرورگر را لغو می‌کند و اجازه می‌دهد تا درخواست انجام شود.

CORS با استفاده از هدرهای پروتکل انتقال ابرمتن (HTTP) "کنترل دسترسی" اجرا می‌شود. مدیر سرور می‌تواند سرصفحه‌های پاسخ را اضافه یا تغییر دهد، که هنگام دسترسی به صفحه وب به مرورگر مشتری ارسال می‌شوند. این تنظیمات، که می‌توانند روی سرورهای آپاچی (Apache) و خدمات اطلاعات اینترنتی (IIS) اعمال شوند، ممکن است مختص سایت یا در سطح سرور باشند. در زیر سرصفحه‌های رایج درخواست و پاسخ آمده است:

سرصفحه‌های درخواست CORS:
  • منشا
  • Access-Control-Request-Method
  • Access-Control-Request- سرصفحه‌ها
سرصفحه‌های پاسخ CORS:
  • Access-Control-Allow-Origin
  • Access-Control-Allow-Methods
  • Access-Control -Expose-Headers

CORS Example

اگر اسکریپتی در techbord.ir با استفاده از یک اقدام GET منبعی را از sharpened.com درخواست کند، ممکن است سرصفحه های درخواست زیر را ارسال کند. :

منبع: https://techbord.ir Access-Control-Request-Method: GET

برای اجازه دادن به درخواست، sharpened.com ممکن است با هدرهای زیر:

Access-Control-Allow-Origin: https://techbord.ir Access-Control-Allow-Methods: GET

Access-Control-Allow-Origin را می توان با استفاده از یک ستاره (*) روی دامنه های خاص یا علامت عام تنظیم کرد. تنظیمات wildcard به درخواست‌های منابع متقابل از همه دامنه‌ها اجازه می‌دهد، که ممکن است یک خطر امنیتی باشد. Access-Control-Allow-Methods را می توان روی PUT، POST، DELETE، و موارد دیگر تنظیم کرد، از جمله یک تنظیم عام (*) که به همه روش ها اجازه می دهد.

CORS مخفف چیست؟

تعریف اصطلاح اشتراک منابع متقابل (CORS) توسط تک بورد

تعریف اشتراک منابع متقابل (CORS) در این صفحه یک تعریف پایه نگاشته شده توسط تک بورد است. اگر مایل به ارجاع به این صفحه یا استناد به این تعریف هستید، با شرط درج لینک به این صفحه می توانید از این محتوا استفاده کنید.

هدف تک بورد توضیح اصطلاحات کامپیوتری به روشی است که به راحتی قابل درک باشد. ما برای سادگی و دقت با هر تعریفی که منتشر می کنیم تلاش می کنیم. اگر بازخوردی درباره تعریف اشتراک منابع متقابل (CORS) دارید یا می‌خواهید یک اصطلاح فنی جدید پیشنهاد کنید، لطفاً با ما تماس بگیرید.

آیا می خواهید اصطلاحات فنی بیشتری یاد بگیرید؟ در خبرنامه روزانه یا هفتگی مشترک شوید و شرایط و آزمون های ویژه را در ایمیل خود تحویل بگیرید.