مطلب، مقاله فنی و اطلاع رسانی فعالیت واحد هاستینگ و ثبت دامنه شرکت رادکام

مکانیزم Cross-Origin Resource Sharing

مکانیزم Cross-Origin Resource Sharing
مکانیزم Cross-Origin Resource Sharing به معنای اشتراک منابع بین سایت های مختلف می باشد در واقع این مکانیزم اجازه ی دسترسی از راه دور به منابع و سرویس های تحت وب را می دهد.
در حالت عادی درخواست ها از دامنه ای خارج از دامنه ی فعلی سرور محدود می باشد اما در توسعه ی نرم افزار های تحت وب گاهی نیاز به ارسال درخواست به دیگر سرور ها می باشد که این کار از طریق مکانیزم Cross-Origin Resource Sharing یا به اختصار CORS انجام می شود که در واقع این امکان را در اختیار وب سرور قرار می دهد تا بتواند منابع خود را ( مانند جاوا اسکریپت یا فونت و ... ) در اختیار وب سرور های دیگر بگذارد.
درخواست و پاسخ از سرور از طریق مکانیزم CORS از طریق یک سری هدر صورت می گیرد که در ادامه برخی از هدر های متداول مکانیزم CORS شرح داده می شود.
هدر های درخواست (HTTP Request Header)
زمانیکه دامنه ای درخواست دسترسی به منبع خاص از یک وب سرور دیگر را دارد این درخواست را از طریق هدر های درخواست ارسال می کند. این هدر ها عبارتند از:
Access-Control-Request-Methods: ارسال درخواست متد های HTTP مانند GET و POST و ...  به سرور
Access-Control-Request-Headers : درخواست از دامنه که برای دسترسی به هدر ها ارسال می شود.
Origin: این هدر درخواست می باشد در واقع با این هدر سرور متوجه می شود درخواست از کدام دامنه ارسال شده است.
هدر های پاسخ (HTTP Response Header)
وب سروری که منابع آن درخواست شده است برای پاسخ به هدر درخواست، از هدر های زیر استفاده می کند:
 Access-Control-Allow-Origin این هدر در واقع مجوز دسترسی به درخواست مبدا می باشد که  از سمت سرور و در پاسخ به هدر درخواست مبدا می باشد.
Access-Control-Allow-Methods این هدر وظیفه ی پاسخ به متد های HTTP (GET و PUT و...) مجاز را دارد. به عنوان مثال در صورتیکه سرور تنها اجازه ی متد GET را داده باشد و درخواست POST ایجاد شود، درخواست غیر مجاز توسط مرورگر حذف می شود.
Access-Control-Allow-Credentials : این هدر در واقع مجوز دسترسی به کوکی ها را صادر می کند.
Access-Control-Expose-Headers: دسترسی برای تغییر هدر ها
Origin: این هدر درخواست می باشد در واقع با این هدر سرور متوجه می شود درخواست از کدام دامنه ارسال شده است.
یک مثال از کاربر CORS 
فرض کنید دامنه https://www.keycdn.com  درخواست دریافت منبعی از آدرس cdn.keycdn.com را دارد بنابراین یک هدر درخواست با استفاده از دستور origin:https://keycdn.com از مرورگر به دامنه مقصد ارسال می شود

رسانه جدید

وقتی هاست مقصد (cdn.keycdn.com) این درخواست را دریافت می کند، براساس تنظیمات CORS، به آن اجازه دسترسی داده یا آن را رد می کند. همانطور که در تصویر زیر مشاهده می نمایید، هاست مقصد درخواست مبدا را با اضافه کردن هدر Access-Control-Allow-Origin  قبول می کند.
استفاده از * به معنای آن است که تمامی دامنه ها اجازه دسترسی به این منبع را دارند.

رسانه جدید

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


نام را وارد کنید
تعداد کاراکتر باقیمانده: 1000
نظر خود را وارد کنید