ویرگول
ورودثبت نام
متین تلخابی
متین تلخابیFull-Stack Developer (Django, React) | Computer Engineering | Passionate About Tech & Self-Improvement
متین تلخابی
متین تلخابی
خواندن ۱ دقیقه·۸ روز پیش

از URL تا Render | پشت‌صحنه لود شدن یک صفحه وب

اولین سوالی که توی سری " سؤال‌های فنی مصاحبه‌ها " میریم دنبالش اینه
سوال : وقتی توی مرورگر یه URL وارد می‌کنیم و Enter می‌زنیم،
دقیقاً چه اتفاق‌هایی می‌افته تا صفحه لود بشه؟
(فرایند طی شده از DNS Resolution تا Render شدن صفحه)

سعی کردم از پایه ای ترین سوال شروع کنم

------

خب اینجا مراحل رو سعی کردم به ترتیب بیارم
- DNS Resolution
طبیعتا مرورگر باید اول بفهمه که این url به چه ip ای اشاره داره
----
- TCP Handshake
توی درخواست اول یه همچین اتفاقی می افته

اولی بخش SYN :
مرورگر یه بسته برای سرور میفرسته برای شروع ارتباط (فلگ SYN)

دومی بخش SYN-ACK :
سرور جواب میده که " اره پیام رو گرفتم و آمادم " (فلگ SYN + ACK)

سومین بخش هم ACK:
مرورگر یه پیام میفرسته که پیام دریافت شده و ارتباط هم برقرار میشه
توی درخواست های بعدی یه چیزی از قبل هست و با همون اتصال قبلی متصل میشه
---

- TLS Handshake
گواهی مربوط به SSL بررسی میشه
ارتباط رمزنگاری میشه
----

- HTTP Request
حالا مرورگر می تونه درخواست هایی با متد های GET / POST برای سرور بفرسته و جواب بگیره
----

- Backend Processing
- Router
مشخص می‌کنه درخواست برای کدوم مسیر و با چه متدی اومده
(مسیر اشتباه → احتمالاً 404)

- View / Controller
ورودی‌ها بررسی می‌شن
لاگین بودن کاربر، سطح دسترسی و معتبر بودن درخواست اینجا چک می‌شه
---
- Business Logic
قوانین سیستم:
- کاربر می‌تونه خرید کنه؟
- تخفیف شاملش می‌شه؟
- وضعیت سفارش چیه؟
معمولاً پیشنهاد می‌شه این بخش جدا باشه،
ولی توی عمل بسته به پروژه می‌تونه جاهای مختلفی پیاده‌سازی بشه.
----
- Database
حالا داده هایی که لازم داریم رو از دیتابیس میگیرم ( یا داخلش میریزیم )
----
- Response
در اخر بخش بک اند جوابش رو به سمت کاربر میفرسته
----
خب بیاین این سوال رو همینجا به پایان برسونیم
اگه توضیحاتم مشکلی داشت، یا نظری داشتید خوشحال میشم راهنماییم کنید
#Backend
#Python
#Django
#Career
#مصاحبه_شغلی

مصاحبه شغلیbackendpythondjangocareer
۰
۰
متین تلخابی
متین تلخابی
Full-Stack Developer (Django, React) | Computer Engineering | Passionate About Tech & Self-Improvement
شاید از این پست‌ها خوشتان بیاید