در این مقاله سعی می کنیم تا گوشه ای از اتّفاقات پشت پرده توسعه وب را با هم بررسی کنیم تا به درک بهتری از فرآیندهای بک اند برسیم .. با ما همراه باشید.
سرور چیست و چه نقشی دارد ؟
سرور (Server) در ساده ترین تعریف، یک کامپیوتر یا دستگاه است که درخواست ها را از سمت کاربران (فرانت اند) دریافت می کند، آنها را پردازش می کند و پاسخی مناسب ارائه می دهد.
نقش سرور
- مدیریت درخواست ها : تمام درخواست هایی که کاربران در وب سایت ارسال می کنند مثل لاگین یا نمایش یک محصول را سرور دریافت می کند.
- اجرای منطق برنامه : سرور منطق برنامه را اجرا می کند، مثلا چک می کند که رمز عبوری که کاربر وارد کرده درست است یا نه.
- ارتباط با دیتابیس : اگر اطّلاعاتی بخواهد، مثلا اطّلاعات کاربر یا لیست محصولات، سرور این اطّلاعات را از دیتابیس می گیرد .
چگونه سرور با فرانت اند ارتباط می گیرد ؟
فرانت اند از طریق پروتکل http یا https درخواست هایی به سرور ارسال می کند. این درخواست ها می توانند به شکل GET POST ، PUT یا DELETE باشند و هرکدام را برای یک کار خاصّ، استفاده می کند.
دیتابیس چیست و چه نقشی دارد ؟
دیتابیس (Database)، جایی است که تمام اطّلاعات مربوط به وب سایت یا اپلیکیشن را ذخیره می کند. این اطّلاعات شامل کاربران، محصولات، سفارشات یا هر نوع داده دیگری است .
انواع دیتابیس
- SQL ( Structured Query Language) : دیتابیس های ساختاریافته که اطّلاعات را در قالب جدول ذخیره می کنند؛ مانند MySQL ، PostgreSQL و SQLite.
- NoSQL : دیتابیس های غیرساختاریافته که اطّلاعات را به شکل سند (Document) یا کلید-مقدار (key-value) ذخیره می کنند؛ مانند MongoDB و Firebase.
نقش دیتابیس
- ذخیره سازی اطّلاعات : اطّلاعات کاربران، محصولات، و تراکنش ها را در خود ذخیره می کند.
- بازیابی اطّلاعات: هر زمان که فرانت اند اطّلاعاتی نیاز دارد، مثل لیست محصولات، سرور این داده ها را از دیتابیس بازیابی می کند و به فرانت اند می فرستد.
- مدیریّت داده ها: دیتابیس وظیفه مدیریّت حجم بالای داده ها را به عهده دارد.
مثال
وقتی در یک فروشگاه آنلاین، یک محصول را جستجو می کنید، دیتابیس اطّلاعات مربوط به آن محصول (شامل نام، قیمت و توضیحات) را به سرور ارسال می کند و سرور آن را به فرانت اند برمی گرداند.
API چیست و چه نقشی دارد ؟
API (Application Programming Interface)، رابطی است که به فرانت اند اجازه می دهد تا با بک اند ارتباط برقرار کند. آنها شبیه یک مترجم عمل می کنند و درخواست های فرانت اند را به زبان سرور تبدیل می کنند.
نقش API
واسط بین فرانت اند و بک اند: فرانت اند بدون نیاز به دانستن جزئیّات بک اند، از طریق API، داده ها را دریافت یا ارسال می کند.
استانداردسازی ارتباط: API ها ساختاری استاندارد برای ارتباط بین اجزا فراهم می کنند.
امنیّت داده ها: API ها می توانند تنها اطّلاعات مجاز را در اختیار فرانت اند قرار دهند.
انواع API
- RestAPI: پرکاربرد ترین نوع API که از پروتکل http استفاده می کند.
- GraphQL API: قدرتمندتر و انعطاف پذیرتر که به جای ارسال درخواست های جداگانه، داده ها را به صورت دقیق تر و کامل تر، برمی گرداند.
مثال
فرض کنید یک اپلیکیشن هواشناسی دارید؛ فرانت اند میخواهد اطّلاعات دمای امروز را نمایش دهد. از طریق یک API ، فرانت اند درخواست اطّلاعات دما را می دهد و API داده های مربوط را از سرور به فرانت اند ارسال می کند.
تعامل بین سرور، دیتابیس و API
یک مثال ساده از جریان کاری بین این سه مؤلّفه:
- کاربر از طریق فرانت اند درخواست مشاهده یک محصول را ارسال می کند.
- این درخواست به دست سرور می رسد.
- سرور این درخواست را به دیتابیس ارسال کرده و اطّلاعات محصول را از دیتابیس می گیرد.
- سرور از طریق API، داده ها را به فرانت اند می فرستد.
- فرانت اند این داده ها را به شکل زیبایی به کاربر نمایش می دهد.
چرا این سه مؤلفه در کنار هم حیاتی هستند؟
- سرور: مغز اصلی سیستم که تصمیم می گیرد.
- دیتابیس: حافظه سیستم که تمام اطّلاعات را ذخیره می کند.
- API : پلی بین فرانت اند و بک اند که ارتباط را ساده و استاندارد می کند.
نتیجه گیری
بک اند بدون دیتابیس، سرور و API قابل تصوّر نیست. این سه مؤلّفه در کنار هم، داده ها را درستی ذخیره می کنند و سپس با پردازش اطّلاعات، خواسته کاربر را به او نمایش می دهند. اگر می خواهید در دنیای بک اند حرفه ای شوید، درک عمیق این مفاهیم، اوّلین قدم برای یادگیری شماست.