پرتال آموزش آنلاین
0

وب چیست و چطور کار می کند ؟ 0 تا 100

وب

Word Wide Web ( وب جهان‌گستر )

 

شاید مهم‌ترین اختراع نیمهٔ دوم قرن بیستم باشد که شیوهٔ دسترسی انسان به دانش و ارتباطات را برای همیشه تغییر داد. این مفهوم، زیربنای زندگی دیجیتال امروزی ماست و در این بررسی جامع، ما نه تنها به تعریف و تاریخچهٔ آن می‌پردازیم، بلکه با کاوش در جزئیات فنی نحوهٔ کارکرد آن، لایه‌های پنهان این فناوری انقلابی را آشکار خواهیم ساخت.

ریشه‌ها و تولد وب

برای درک اهمیت وب، باید به دوران پیش از آن بازگردیم و بدانیم که وب دقیقاً چه مشکلی را حل کرد.

فراتر از اینترنت: عصر پیش از پیوند و تبادل اطلاعات

قبل از سال ۱۹۸۹،اینترنت (به معنای زیرساخت فیزیکی و پروتکل‌های پایه‌ای مانند TCP/IP) وجود داشت. این شبکه به‌عنوان پروژه‌هایی مانند ARPANET شکل گرفته بود و امکان انتقال بسته‌های داده بین ماشین‌های خاصی را فراهم می‌کرد، اما استفاده از آن برای عموم بسیار دشوار و محدود به محیط‌های دانشگاهی و نظامی بود.

اطلاعات در این محیط، غالباً به صورت فایل‌های ایستا و غیرمرتبط ذخیره می‌شدند. چالش اصلی این بود که هیچ مکانیزم استانداردی برای «لینک دادن» یا ارجاع دادن از یک سند به سندی دیگر در یک شبکهٔ بزرگ وجود نداشت.

تیم برنرز لی و سه اختراع بنیادین

در سال ۱۹۸۹، تیم برنرز لی، دانشمند بریتانیایی در مرکز تحقیقات هسته‌ای اروپا (CERN)، یک یادداشت مفهومی منتشر کرد که اساس شکل‌گیری وب را پایه‌ریزی نمود. او سیستمی را متصور شد که در آن، اطلاعات می‌توانند با استفاده از مفهوم «ابر متن» (Hyper text) به شکل غیرخطی و با قابلیت ارجاع متقابل، سازماندهی و بازیابی شوند. سه اختراع کلیدی او که وب را متولد کردند عبارتند از:

1. HTML (Hyper Text Markup Language):

این زبان، ساختار و معنای محتوا را تعریف می‌کند. اگر وب را یک ساختمان در نظر بگیریم، HTML مانند آجرهایی است که قالب کلی و بخش‌بندی‌های محتوا (متن، عنوان، لیست و…) را مشخص می‌کند.

2. URL (Uniform Resource Locator):

آدرس‌دهی جهانی. URL یک آدرس استاندارد و منحصر به فرد برای هر منبع موجود در وب (چه یک صفحه HTML، چه یک تصویر یا یک فایل) فراهم کرد. این مکانیسم، امکان یافتن دقیق هر قطعه اطلاعات را در سراسر جهان فراهم ساخت.

3. HTTP (Hyper Text Transfer Protocol):

پروتکل انتقال ابرمتن، قلب تپندهٔ تعاملات وب است. این پروتکل مجموعه‌ای از قوانین و ساختار پیام‌ها را تعریف می‌کند که بر اساس آن‌ها، کلاینت (مرورگر) درخواست و سرور پاسخ را ارسال و دریافت می‌کند.

برنرز لی اولین مرورگر (World Wide Web) و اولین سرور وب را نیز پیاده‌سازی کرد. تصمیم سرنوشت‌ساز بعدی،رایگان اعلام شدن فناوری وب بود، این تصمیم مانع از انحصار و بسته‌شدن این فناوری شد و راه را برای پذیرش جهانی هموار ساخت.

گذار به وب گرافیکی و تعاملی

در اوایل دهه ۱۹۹۰، با ظهور مرورگرهای گرافیکی مانند Mosaic (و سپس Netscape)، تجربه کاربری متحول شد. این مرورگرها توانستند تصاویر را مستقیماً درون صفحه نمایش دهند و رابط کاربری مبتنی بر کلیک را معرفی کنند. این امر وب را از یک ابزار متنی برای متخصصان به یک پلتفرم چندرسانه‌ای برای توده‌ها تبدیل کرد.

این پیشرفت‌ها به سرعت به ظهور وب منجر شد؛ دورانی که بر تعامل‌پذیری، مشارکت جمعی و محتوای تولید شده توسط کاربر (UGC) تأکید دارد. وب دیگر صرفاً یک کتابخانه برای خواندن نبود، بلکه یک پلتفرم برای نوشتن، به‌اشتراک‌گذاری و شبکه‌سازی شد (مانند ظهور شبکه‌های اجتماعی، ویکی‌ها و وبلاگ‌ها).

بخش دوم: تعریف دقیق‌تر و معماری وب

تعریف جامع وب

وب جهان‌گستر، یک سیستم اطلاعاتی توزیع شده است که بر بستر پروتکل‌های استاندارد اینترنت (TCP/IP) عمل می‌کند. وب از طریق URLها منابع را شناسایی کرده، از طریق پروتکل HTTP/HTTPS این منابع را منتقل می‌کند و این منابع را از طریق نرم‌افزارهای کلاینت، یعنی مرورگرها، برای کاربران نهایی به صورت بصری قابل استفاده و تعاملی می‌نماید.

تفاوت حیاتی: وب در مقابل اینترنت:
این تمایز اساسی است:
اینترنت: شبکهٔ زیرساختی و سخت‌افزاری است که شامل کابل‌ها، روترها و پروتکل‌های سطح پایین (مانند IP و TCP) برای انتقال بسته‌های داده است. اینترنت شبیه به جاده‌های اصلی و زیرساخت‌های ارتباطی یک کشور است.
وب (WWW): یک سرویس یا اپلیکیشن است که از اینترنت به عنوان بستر انتقال استفاده می‌کند. وب، پروتکل‌های سطح بالاتری مانند HTTP و HTML را برای انتقال محتوای قابل درک و لینک‌شده به کار می‌گیرد. سرویس‌های دیگری مانند ایمیل (با پروتکل SMTP) یا انتقال فایل (FTP) نیز از همین بستر اینترنت استفاده می‌کنند، اما وب سرویس اصلی مبتنی بر ابرمتن است.

آناتومی عملکرد وب ( سفر داده‌ها از درخواست تا رندرینگ نهایی )

نحوه کار وب، یک چرخهٔ هماهنگ و سریع است که در کسری از ثانیه اتفاق می‌افتد. این فرآیند برای ارائه یک صفحه وب به کاربر، شامل پنج مرحله فنی پیچیده است:

۱. آغاز فرآیند: درخواست کاربر و ساخت بسته اولیه

کاربر با وارد کردن یک URL کامل (شامل پروتکل://نام دامنه/مسیر) در نوار آدرس مرورگر، فرآیند را آغاز می‌کند. مرورگر (مانند کروم، فایرفاکس) فوراً وظیفه دارد این آدرس خوانا را به بسته‌ای تبدیل کند که توسط شبکه اینترنت قابل درک باشد.

۲. ترجمه آدرس: سیستم نام دامنه (DNS)

از آنجا که شبکه جهانی اینترنت بر اساس آدرس‌های عددی عمل می‌کند، اولین قدم فنی این است که نام دامنه خوانا (www.temsi.ir) به آدرس IP (مثلاً `192.0.2.1`) تبدیل شود. این وظیفه بر عهده سیستم نام دامنه (DNS) است که یک ساختار سلسله مراتبی و توزیع شده دارد:

مرحله استعلام اولیه: مرورگر ابتدا از یک DNS Resolver محلی (معمولاً سرور DNS فراهم کننده سرویس اینترنت کاربر – ISP) می‌پرسد.
مرحله سلسله مراتبی: اگر Resolver پاسخ را نداند، فرآیند جستجوی تکراری آغاز می‌شود: ابتدا با سرورهای ریشه (Root Servers) تماس گرفته می‌شود، سپس سرورهای مربوط به دامنه‌های سطح بالا (TLDs مانند .com یا ir) و در نهایت سرورهای معتبر (Authoritative Name Servers) که مالک اصلی دامنه هستند، آدرس IP نهایی را تعیین می‌کنند.
ذخیره‌سازی موقت (Caching): برای افزایش سرعت، این نتایج در لایه‌های مختلف (مرورگر، سیستم عامل، Resolver) برای مدتی ذخیره می‌شوند تا از تکرار جستجوهای گران‌قیمت جلوگیری شود.

۳. برقراری ارتباط و ارسال درخواست (HTTP/HTTPS)

با در اختیار داشتن آدرس IP مقصد، مرورگر باید ارتباطی امن و قابل اعتماد با سرور برقرار کند:

ایجاد اتصال: مرورگر یک اتصال مبتنی بر پروتکل TCP (Transmission Control Protocol) را با سرور در پورت استاندارد وب (پورت ۸۰ برای HTTP و پورت ۴۴۳ برای HTTPS) برقرار می‌کند. TCP تضمین می‌کند که بسته‌های داده به ترتیب و بدون افت یا خرابی به مقصد برسند.
امنیت (TLS/SSL): در صورتی که از HTTPS استفاده شود، فرآیند TLS Handshake (دست‌دهی) انجام می‌گیرد. این فرآیند شامل احراز هویت سرور با گواهی دیجیتال و تبادل کلیدهای رمزنگاری است تا یک کلید متقارن مشترک ایجاد شود. تمامی داده‌های بعدی بین مرورگر و سرور با این کلید رمزگذاری می‌شوند تا حریم خصوصی حفظ گردد.

سپس، مرورگر بسته درخواست HTTP را ارسال می‌کند که شامل متدهایی مانند `GET` (درخواست برای دریافت محتوا) یا `POST` (ارسال داده به سرور، مانند پر کردن فرم) است. همچنین، سرآیندهای مهمی مانند `User-Agent` (مشخصات مرورگر) و `Accept-Encoding` (فرمت‌های فشرده‌سازی قابل قبول) در این درخواست گنجانده می‌شوند.

۴. پردازش سرور و تولید پاسخ

وب سرور (نرم‌افزارهایی مانند Nginx، Apache یا IIS) درخواست را دریافت می‌کند. رفتار سرور بستگی به ماهیت منبع درخواستی دارد:

منابع استاتیک: اگر درخواست برای یک فایل ثابت (مثل یک تصویر JPEG یا یک فایل CSS) باشد، وب سرور مستقیماً آن فایل را از دیسک خوانده و آن را در بدنهٔ پاسخ HTTP قرار می‌دهد.
منابع پویا (Dynamic Content): برای صفحات تعاملی (مانند صفحهٔ نتایج جستجو یا سبد خرید یک فروشگاه)، وب سرور درخواست را به موتورهای برنامه‌نویسی سمت سرور (مانند PHP، Python با فریم‌ورک‌هایی چون Django/Flask، یا محیط Node.js) هدایت می‌کند. این موتورها:
سشن‌ها و هویت کاربر را بررسی می‌کنند.
کوئری‌هایی را به سیستم‌های  پایگاه داده (مانند MySQL، PostgreSQL) ارسال کرده و داده‌های مورد نیاز را استخراج می‌کنند.
داده‌های استخراج شده را درون قالب‌های HTML تزریق کرده و یک سند HTML نهایی و به‌روز تولید می‌کنند.

در نهایت، سرور پاسخ را آماده می‌کند. این پاسخ شامل یک کد وضعیت HTTP است که وضعیت موفقیت یا شکست عملیات را نشان می‌دهد (مانند `200 OK` برای موفقیت، `404 Not Found` برای منبع گم‌شده، یا `302 Redirect` برای هدایت به آدرس دیگر) و محتوای HTML ساخته شده را حمل می‌کند.

۵. رندرینگ مرورگر (Browser Rendering Pipeline)

پس از دریافت پاسخ، وظیفهٔ سنگین به دوش موتور رندرینگ مرورگر می‌افتد. مرورگر باید رشته‌ای از بایت‌ها را به یک تصویر بصری تبدیل کند:

1. تجزیه HTML و ساخت DOM: مرورگر کدهای HTML را خط به خط می‌خواند و یک ساختار درختی از روابط والد-فرزندی عناصر به نام مدل شیء سند (DOM) ایجاد می‌کند.

2. تجزیه CSS و ساخت CSSOM: استایل‌های CSS (از تگ `<style>` یا فایل‌های خارجی) پردازش شده و مدل شیء آبجکت سبک (CSSOM) ساخته می‌شود.

3. ایجاد رندر تری (Render Tree): DOM و CSSOM ترکیب می‌شوند تا رندر تری ساخته شود. این درخت فقط عناصری را شامل می‌شود که قرار است روی صفحه دیده شوند (عناصری با استایل `display: none` حذف می‌شوند).

4. Layout (چینش و محاسبه ابعاد): موتور رندرینگ ابعاد دقیق (ارتفاع و عرض) و موقعیت مکانی هر عنصر در صفحه را نسبت به والد خود محاسبه می‌کند (Layout Engine).

5. Painting (نقاشی): در آخرین مرحله، مرورگر بر اساس مختصات نهایی، پیکسلی‌ترین جزئیات را (شامل رنگ، سایه، مرزها و پس‌زمینه) روی صفحه نمایش ترسیم می‌کند.

این فرآیند شامل لایه‌های پیچیده‌تری مانند اجرای Java Script (که می‌تواند ساختار DOM را در حین رندرینگ تغییر دهد و باعث بازسازی مجدد رندر تری شود) نیز هست، که اغلب دلیل اصلی کندی بارگذاری در وب‌سایت‌های سنگین است.

سه رکن اصلی وب: ساختار پشتیبان

وب برای عملکرد مداوم خود، به یک هماهنگی عالی بین این سه جزء وابسته است:

1. مرورگر (Client):
پنجرهٔ تعاملی کاربر، مسئول ترجمه و اجرای کدها.

2. سرور (Server):
زیرساخت سخت‌افزاری و نرم‌افزاری همیشه فعال که مسئول ذخیره، پردازش و ارسال منابع وب است.

3. اینترنت (Network):
لایهٔ ارتباطی جهانی که پروتکل‌های سطح پایین را فراهم کرده و این دو بازیگر اصلی را به یکدیگر متصل می‌سازد.

جمع‌بندی و نگاه به آینده

وب جهان‌گستر، دستاوردی انقلابی است که با یکپارچه‌سازی ابرمتن بر بستر اینترنت، اطلاعات جهان را دموکراتیزه کرد. فرآیند کارکرد آن، از ترجمه آدرس IP در DNS تا رندرینگ دقیق توسط مرورگر، یک معماری توزیع‌شده و پیچیده است که سرعت حیرت‌انگیزی دارد.

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

 

 


همراهان عزيز تمسی، شما می توانید جديدترین مطالب ما را در اینستاگرام و تلگرام تمسی دنبال کنید. اگر دنبال کیفیت بالاتر این آموزش ها هستید میتوانید از کانال یوتیوب ما استفاده کنید. برا عضویت در شبکه های مجازی ما از دکمه های زیر استفاده کنید.

یوتیوب تلگرام اینستاگرام
ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *