نکته ای که اکثر افراد تازه کار به آن توجه نمی کنند، ارتباط داشتن حوزه های مختلف برنامه نویسی و نحوه ارتباط دادن آن ها با یکدیگر است. در این مقاله به بررسی نحوه ارتباط بک اند و فرانت اند می پردازیم.
می توان گفت همه چیز به کاربر بستگی دارد. یعنی کاربر است که باعث ارتباط میان بک اند و فرانت اند می شود.
"چیزی" انتزاعی که به آن درخواست های مرورگر می رسد. ما در اینجا زیاد به این جزئیات اهمیت نمی دهیم. کافی است بدانید که کد بک اند روی سرور و همچنین سایر سرویس ها در حال اجرا است. درخواست برای Backend به سرور می رسد و در نهایت به قسمت فرانت اند شما منتقل می شود.
بخشی از برنامه وب شما که مستقیماً برای کاربر قابل مشاهده نیست. درخواست ها را دریافت می کند و داده هایی را آماده می کند که به مرورگر کاربر ارسال می شود. کد Backend طوری ساخته شده است که روی سرور اجرا شود و هرگز روی دستگاه کاربر اجرا نمی شود.
بخش هایی از برنامه وب شما که قرار است مستقیماً توسط مرورگر کاربر استفاده شود. کدی که در داخل مرورگر اجرا میشود، یا نشانهگذاری که هنگام رندر کردن صفحه تفسیر میشود. HTML، CSS و جاوا اسکریپت درون مرورگر نمونههای خوبی برای آنچه به نظر من بخشی از مفهوم frontend است هستند. اما فقط به شکل تمام شده آنها. در حالی که کد پشتیبان می تواند یک پاسخ HTML را جمع آوری کند ، HTML نهایی وارد شده به مرورگر در اینجا منظور می شود.
برنامه ای که روی دستگاه کاربر اجرا می شود. درخواستهای HTTP را ارسال میکند، پاسخها را دریافت میکند، دادههای دریافتی را پردازش میکند و از آن برای ارائه یک صفحه قابل مشاهده استفاده میکند. تمام ارتباطات از سمت کاربر از طریق مرورگر آنها انجام می شود.
درخواست های HTTP از مرورگر در بک اند دریافت می شود. این درخواستها ممکن است حاوی دادههایی در هدرهای HTTP یا بدنه درخواست باشند. هدف ممکن است درخواست داده های جدید یا انتقال داده های ایجاد شده توسط کاربر به بک اند باشد.
درخواست های HTTP، در داخل مرورگر کاربر ساخته شده و ارسال می شوند. برای هر درخواست پاسخی وجود دارد که حاوی اطلاعات در سربرگ های HTTP و بدنه درخواست است. این پاسخها به پشتیبان بازمیگردند و به مرورگر کاربر بازمیگردند.
چه اتفاقی باید بیفتد تا مرورگر مجبور شود درخواستی ارسال کند؟ آن دسته از درخواستهایی که به این دلیل اجرا میشوند که کاربر روی پیوند یا کد JS در حال اجرا در پسزمینه کلیک کرده است. اما محرک های احتمالی بیشتری وجود دارد:
این تقریباً تمام سناریوهایی است که می تواند باعث شود یک مرورگر درخواست ها را به بک اند ارسال کند. در هر مورد، درخواست ها و پاسخ های HTTP وجود دارد.
خب حالا که با ساز و کار فرانت اند و بک اند آشنا شدید وقت آن رسیده که به سوال تیتر مقاله پاسخ دهیم.
بله! یک متخصص بک اند باید در حد نیاز با فرانت اند آشنایی داشته باشد. دلیل آن هم کاملا مشخص است. چون زمانی که شما وارد یک تیم برنامه نویسی می شوید، باید بتوانید با سایر برنامه نویسان ارتباط برقرار کنید تا پروژه جلو برود. از همین رو باید نحوه ارتباط بین بک اند و فرانت اند را بدانید.