مرورگرهای وب چگونه کار می کنند؟


مرورگرهای وب چگونه کار می کنند؟

مرورگر یک برنامه نرم افزاری است که برای مکان یابی ، بازیابی و نمایش محتوا در شبکه جهانی وب ( www )   ، از جمله صفحات وب ، تصاویر ، فیلم و سایر فایل ها استفاده می شود. با توجه به مدل سرویس‌گیرنده-سرویس‌دهنده (Client-Server Model ) ، مرورگر روی یک کامپیوتر اجرا شده و بعنوان سرویس گیرنده (Client ) با کامپیوتر دیگری بنام وب سرور (Web Server ) تماس گرفته و اطلاعات را درخواست می کند. وب سرور اطلاعات درخواستی مرورگر را پاسخ و برمی گرداند و در نتیجه مرورگر اطلاعات دریافتی از سرور را به شکل صفحات وب نمایش می دهد.

مرورگرهای امروزی مجموعه نرم افزارهای کاملا کاربردی هستندکه می توانند صفحات وب (HTML ) ،اپلیکیشن ها، جاوااسکریپت ، AJAX و دیگر محتویات در وب سرور را تفسیر و نمایش دهند.برای توسعه و افزودن قابلیت بیشتر به نرم افزار، خیلی از مرورگرها افزونه هایی (plug-ins) برای مثال پخش ویدیو و صوت ، قابلیت اجرای کنفرانس ویدیویی، طراحی وب ، فیلتر ضد فیشینگ و دیگرافزونه های امنیتی ارائه می دهند.

یک مرورگر مجوعه ای ساختار یافته از کدهایی است که با هم با انجام یکسری وظایف ، صفحات وب را روی صفحه نمایش یک کامپیوتر یا دستگاه نمایش میدهند.این کدها با توجه به وظایفی که دارند از اجزای متفاوتی ساخته شده اند.

معماری سطح بالای مرورگر

در تصویر زیر اجزای اصلی یک مرورگر وب آورده شده است:

   

1- رابط کاربری ( The User Interface )

رابط کاربری فضایی است که کاربر با مرورگر تعامل برقرار می کند.این فضا شامل نوار آدرس، دکمه های عقب و جلو، دکمه خانه، تازه سازی (Refresh) و توقف، بوک مارک (Bookmark ) و دیگر عناصر قابل لمس و مشاهده می باشد.

2-موتور مرورگر ( The Browser Engine )

از موتور مرورگر بعنوان پل میان رابط کاربری و موتور رندر (Rendering Engine ) یاد می شود. با توجه به ورودی های مختلف رابط کاربری ، موتور مرورگر ، موتور رندر را برای رندر صفحه (تولید ظاهر صفحه ) آماده می کند.

3-موتور رندر (The Render Engine)

مسئولیت نمایش درخواست های صفحات وب روی صفحه (screen) را برعهده دارد.موتور رندر، اسناد HTML، XML ، تصاویر (تصاویر قالب بندی شده بوسیله CSS) و ایجاد قالب صفحه را تفسیر  و بر روی صفحه نمایش رسم می کند.در صورتی که اگر از افزونه ها(plug-ins) استفاده شود، داده های دیگری نیز می تواند روی صفحه نمایش رسم کند.مثلا استفاده از افزونه آمار پخش زنده فوتبال : در این صورت موتور رندر باید کوئری هایی که درخواست می شود را رندر و بر روی صفحه، نمایش دهد. مرورگرهای مختلف از موتور رندرهای مختلف استفاده می کنند:

The Render Engine

Web Browser

Trident

Internet Explorer

Blink

Edge

Gecko

Firefox

Gecko

Mozilla

Blink

Chrome

Blink

Opera 15

Webkit

Chrome (iPhone)

Webkit

Safari

4- شبکه ( Networking)

مولفه ( Component ) شبکه با استفاده از پروتکل های مرسوم اینترنت یعنی HTTP و FTP آدرس درخواستی (URL) را بازیابی می کند.به مثال وقتی که آدرسwww.google.com را در نوار آدرس جستجو می کنیم، مولفه شبکه از طریق پروتکل های اینترنت درخواست را به وب سرور مورد نظر ارسال و پاسخ را دریافت می کند.مولفه شبکه تمامی جوانب ارتباطات اینترنت و امنیت را کنترل و مدیریت می کند. مولفه شبکه ممکن است با پیاده سازی مکانیزم حافظه نهان (Cache : اسناد ذخیره شده در درخواست های قبل ) اسناد قبلی را برای کم کردن ترافیک شبکه بازیابی نماید.

5-مفسر جاوا اسکریپت (JavaScript Interpreter )

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

6- UI Backend

UI backend برای ترسیم ویجت هایی (widgets) مانند combo boxes استفاده می شود. مولفهUI Backend ، یک رابط کاربری عمومی و مستقل از پلتفرم ارائه میدهد.این مولفه با استفاده از متدهای رابط کاربری سیستم عامل ویجت ها را رسم می کند. به مثال ، ویجت combo box در ویندوز یا مک مستقل از نوع سیستم عامل با استفاده از متدهای خاص خود سیستم عامل رسم می شود.

7-ذخیره داده Data Persistence/Storage

مرورگرها برای ذخیره داده از مکانیزم هایی مانند localStorage، IndexdDB ،WebSQL و FileSystem پشتبانی می کنند.این مکانیزم ها ، پایگاه داده های کوچکی برای ذخیره داده بر روی کامپیوتر کاربر هستند.داده های کاربر از قبیل cache ، کوکی (Cookiesbookmark و preferences از طریق این مولفه مدیریت می شوند.

یک نکته مهم و قابل توجه این است که درمرورگرهای وب از قبیل کروم، هر تب (Tab) ، یک فرایند جداگانه است. به این معنی که هر تب یک Instance از موتور رندر است.

 

 

 

 


نظرات شما برای ما فوق العاده مهم هستند. لطفا نظر خود را بنویسید.


با نظردهی ما را حمایت کنید:

Captcha