مرورگر (Web browser)

مرورگر (Web browser)

Web browser یک نرم افزار است که به صورت   interpreter یا مفسر کار میکند. Interpreter قابلیت تفسیر تگ های html  را دارا میباشد.

فرق interpreter  با compiler در این میباشد که compiler کل برنامه را در صورت صحیح بودن اجرا میکند.اما interpreter خط به خط کد را اجرا میکند.

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

اما interpreter ها رفتار متفاوتی دارند. به این ترتیب که این برنامه ها در هنگام فعالیت یا به عبارتی تفسیر دستورات به صورت خط به خط پیش رفته و در همان لحظه آن خط را اجرا نموده و نتیجه آنرا نمایش میدهند. به این ترتیب یک interpreter در هنگام تفسیر دستورات نیازی به تمامی آنها ندارد و در شروع کار بر خلاف compiler ها همه کدها را نمیخواهند. هم چنین در هنگام بروز خطا در برنامه رفتار interpreter کاملا متفاوت است. به این صورت که یک interpreter در هنگام برخورد با یک خطا در آن خط اعلام خطا میکند اما متوقف نمی شود پس آن خط از برنامه را رها کرده و به خط بعدی رفته و آنرا اجرا میکند و به همین ترتیب  تا پایان برنامه ادامه میدهد.

همانطور که میدانید در وب ما به منابع و کد ها بصورت کامل دسترسی نداریم.بلکه اطلاعات مریوط به صفحات با توجه به درخواست های ما در اختیار ما قرار میگیرد. این موضوع باعث میشود که نتوانیم از compilerها برای ترجمه این اطلاعات به زبان ماشین و اجرای آنها استفاده کنیم.

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