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

وب چطور کار می کند؟


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

وب چطور کار می کند؟

کلا از دیدگاه فنی، سیستم وب در دو بخش سازماندهی می شود:

**برنامه سمت سرویس دهنده وب و برنامه سمت مشتری وب

** پایگاه اطلاعاتی توزیع شده از صفحات ابرمتن، فایل های داده مثل صدا، تصویر و به طور کلی هر منبع اطلاعاتی

صفحه ی وب چیزی نیست مگر یک فایل متنی بسیار ساده که با یکی از زبان های نشانه گذاری ابرمتنی مثل HTML، XHTML، DHTML یا XML تدوین می شود. کاری که مرورگر به عنوان "مشتری وب" انجام می دهد آن است که تقاضای دریافت یکی از این صفحات یا فایل ها را در قالب قراردادی استاندارد (مثلا به نام پروتکل HTTP) به سمت سرویس دهنده ارسال کند. در سمت مقابل سرویس دهنده وب این تقاضا را پردازش کرده و در صورت امکان فایل مورد نظر را برای مرورگر ارسال می کند. مرورگر پس از دریافت فایل ابرمتنی، آن را تفسیر کرده و به صورت صفحه آرایی شده روی خروجی نشان می دهد. اگر فایل ابرمتنی در جایی به فایل صدا یا تصویر پیوند خورده باشد آنها نیز توسط مرورگر تقاضا شده و پس از دریافت در جای خود قرار می گیرند.

سرویس دهنده وب را نیز باید یک برنامه سوکت در نظر گرفت که فرامین مشتری را دریافت، پردازش و در صورت امکان اجرا می کند. برنامه سمت مشتری نیز برنامه سوکتی است که تقاضاها را در قالب فرامین استاندارد، برای سرویس دهنده ی وب ارسال می کند.

در ذهن خود دو مفهوم کاملا مجزای زیر را از هم تفکیک کنید:

 HTTP (Hyper Text Transfer Protocol): این پروتکل زبان یا قراردادی برای صحبت کردن برنامه مشتری با سرویس دهنده وب است.

HTML (Hyper Text Markup Language): زبانی برای قالب بندی و صفحه آرایی اطلاعات متنی است.

ممکن است به این نکته اعتراض کنید که سرویس دهنده وب را با سرویس دهنده HTTP همسان گرفتیم (چون پروتکل های دیگری نیز وجود دارند) در صورتی که سرویس دهنده وب فراتر از سرویس دهنده HTTP است. ضمن تایید این نکته برای توجیه قضیه خاطرنشان می کنیم که فعلا هسته ی ارتباطی سرویس دهنده وب همان HTTP است.

صفحه ی وب چیزی نیست مگر یک فایل متنی بسیار ساده که با یکی از زبان های نشانه گذاری ابرمتنی مثل HTML، XHTML، DHTML یا XML تدوین می شود

در سمت سرویس دهنده ی وب پروسه ای وجود دارد که دائما به پورت شماره 80 گوش می دهد و منتظر تقاضای برقراری اتصال توسط مشتریان (برنامه مرورگر کاربران) می ماند. دقت کنید که برنامه سرویس دهنده از سوکت های نوع استریم استفاده می کند و اتصال از نوع TCP است.

پس از آنکه اتصال TCP بین برنامه سرویس دهنده و مشتری برقرار شد، برنامه مشتری حق دارد یک یا چندین تقاضا بفرستد و این تقاضاها باید در قالب استاندارد HTTP باشد. سرویس دهنده یکایک تقاضاها را دریافت و پردازش کرده و در صورت امکان آنها را اجرا می کند.

برای مثال شما روی آدرس http://www.tebyan.net/soundgallery.html کلیک می کنید. یا این آدرس را در مرورگر خود وارد می کنید.

مرورگر با تحلیل آدرس URL فوق متوجه می شود که باید تقاضای فایلی را طبق پروتکل HTTP به سمت سرویس دهنده بفرستد.

وب چطور کار می کند؟

1- مرورگر آدرس URL را تحلیل کرده و قسمت های پروتکل، آدرس نام حوزه، شاخه و نام فایل را از آن استخراج می کند. سپس تقاضای ترجمه ی آدرس نام حوره را به DNS محلی خود ارسال می کند تا آدرس IP ماشین سرویس دهنده بدست بیاید. در این مثال مرورگر ترجمه آدرس www.tebyan.net را به DNS ارسال می کند.

2- مرورگر یک ارتباط TCP با آدرس فوق و پورت 80 برقرار می کند.

3- پس از برقراری ارتباط رشته کاراکتری زیر از سمت مشتری به سمت سرویس دهنده ارسال می شود:

GET /soundgallery.html

Host: www.tebyan.net

If-modified-since: sat,2 jun 2013 14:35

CRLF

برای آنکه بدانید وب چطور کار می کند نیازی نیست حتما جزییات اطلاعاتی که بین مشتری و سرویس دهنده رد و بدل می شود را بدانید. همین که قسمت GET و Host را بدانید کافی ست.

4- سرویس دهنده رشته فوق را دریافت می کند و تشخیص می دهد که باید از سایت www.tebyan.net ، شاخه Soundgallery.html را بیابد و برای مرورگر ارسال کند.

5- مرورگر شما صفحه مورد نظر را دریافت می کند و ارتباط TCP قطع می شود.

6- مرورگر شما فایل ابرمتنی (HTML) صفحه مورد نظر را ترجمه می کند و به صفحه ای که برای شما قابل دیدن باشد تبدیل می کند.

فاطمه مجدآبادی

بخش دانش و زندگی تبیان


منابع:

Internet engineering / E.Malekian

Computer network

A top-down approach / Kurose & Ross