SlideShare a Scribd company logo
1 of 23
Sub topic   : Web Browser Architecture




                                         1
Objectives

 After completion of this period you would be able
 to understand about

    • Reference web browser

    • Reference web browser architecture

    • Various elements

    • Different browsers and their architectures

                                                     2
Web Browser Architecture

• The architecture of different browsers are different

• But they are similar in some respects

• Therefore a generic or reference architecture is
  explained here, followed by specific architectures
A Reference Architecture to Web Browsers




    Fig.1                                  4
A Reference Architecture to Web Browsers
•     The reference architecture shown in the Figure 1
      comprises eight major subsystems. They are
      explained as follows
•     User Interface
     – The User Interface subsystem is the layer between
        the user and the Browser Engine
     – It provides features such as toolbars, visual page-
        load progress, smart download handling,
        preferences, and printing
     – It may be integrated with the desktop environment
        to provide browser session management or
        communication with other desktop applications
The Reference Architecture
•   Browser Engine
    –   It is an embeddable component that provides a
        high-level interface to the Rendering Engine
    –   It loads a given URI and supports primitive
        browsing actions such as forward, back, and reload
    –   It provides hooks for viewing various aspects of the
        browsing session such as current page load
        progress and JavaScript alerts
    –   It also allows the querying and manipulation of
        Rendering Engine settings
The Reference Architecture contd…
•     Rendering Engine
     – The Rendering Engine subsystem produces a visual
        representation for a given URI
     – It is capable of displaying HTML and Extensible
        Markup Language (XML) documents, optionally
        styled with CSS, as well as embedded content such
        as images
     – It calculates the exact page layout and may use
        “reflow” algorithms to incrementally adjust the
        position of elements on the page
     – This subsystem also includes the HTML parser
The Reference Architecture contd…

•    Networking subsystem

–    The Networking subsystem implements file transfer
     protocols such as HTTP and FTP

–    It translates between different character sets, and
     resolves MIME media types for files

–    It may implement a cache of recently retrieved
     resources
The Reference Architecture contd…
•    JavaScript Interpreter

–    The JavaScript Interpreter evaluates JavaScript (also
     known as ECMAScript) code, which may be
     embedded in web pages

–    JavaScript is an object-oriented scripting language
     developed by Netscape

–     Certain Java- Script functionality, such as the opening
     of pop-up windows, may be disabled by the Browser
     Engine or Rendering Engine for security purposes
The Reference Architecture contd…
• XML Parser

– The XML Parser subsystem parses XML documents into
  a Document Object Model (DOM) tree

– This is one of the most reusable subsystems in the
  architecture

– In fact, almost all browser implementations leverage an
  existing XML Parser rather than creating their own from
  scratch
The Reference Architecture contd…
• Display Backend subsystem

– The Display Backend subsystem provides drawing and
  windowing primitives, a set of user interface widgets, and
  a set of fonts

– It may be tied closely with the operating system
The Reference Architecture contd…
• Data Persistence subsystem

– The Data Persistence subsystem stores various data
  associated with the browsing session on disk

– This may be high-level data such as bookmarks or toolbar
  settings, or it may be low-level data such as cookies,
  security certificates, or cache
Other Web Browser Architectures

    Presentation Module
      User Interface       Object Model           History stack




          URL              HTML Parser         Web Browser

     Network Interface
                                                      Browser
          HTTP Module      Cache Management            Cache

Request         Response                                   Internet


      Web Server 1      Web Server 2
                        Web Server 2      ……     Web Server N


     Fig.9                                                            13
Web Local Cache

• cache settings (inside browser)
   examples
      automatically: all cacheable web pages are valid
      per session: in current session, all cacheable web
       pages are valid
• HTTP cache controls (associated with received web
  pages)
   a web page
      cacheable
      valid period
      uncacheable: its expire time as the same time it is
       created

                                                            14
Modeling of Caching Settings

• assume given setting is automatically

• a web page is cacheable: if the cacheable setting is
  included in the header part of the HTTP message
  containing the web page

• For HTTP cache control, no model of expire time
   if a page is cacheable, the page is always fresh

• each page associated with an attribute for cacheability

                                                            15
Session Control

•   most web applications need to maintain communication
    sessions with their client browsers, and monitor each
    client's individual status and activities

    • example: an online banking system should maintain a
      communication session with a specific user during the
      time the user has logged in (and not yet logged out)

    • HTTP is stateless, no functionality on session control

    • cookie technique -- a solution

                                                               16
Modeling of Session Control
• only sessions for authentications

• no consideration of relationship between cookie and
  dynamic content/link

• assume it is given whether a page is secure or not
   secure page: should always be accessed with
      authentication session open
   all entry pages are by nature not secure

• two special actions SignIn and SignOut: session will
  remain open for the consecutive accesses to secure pages
  until SignOut performed
                                                        17
Web Browser - Architecture




Fig.10                            18
Web Browser - Architecture




Fig.11                            19
Web Browser – Architecture : Mozilla




Fig.12                                 20
Web Browser - Architecture




Fig.13                            21
Summary

 In this class, you have learnt about

• Web Browser Introduction

• Web Browser Architecture

• Session, Navigation Control

• Different Browser Examples


                                        22
Frequently Asked Questions

1.   Explain in detail about Web browser architecture

2. List few famous Web browsers

3    List few applications of Web browsers




                            home                        23

More Related Content

What's hot

Introduction to Web Development
Introduction to Web DevelopmentIntroduction to Web Development
Introduction to Web DevelopmentParvez Mahbub
 
Server Controls of ASP.Net
Server Controls of ASP.NetServer Controls of ASP.Net
Server Controls of ASP.NetHitesh Santani
 
What is Server? (Web Server vs Application Server)
What is Server? (Web Server vs Application Server)What is Server? (Web Server vs Application Server)
What is Server? (Web Server vs Application Server)Amit Nirala
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)kunj desai
 
Active browser web page
Active browser web pageActive browser web page
Active browser web pageZee1481
 
World wide web architecture presentation
World wide web architecture presentationWorld wide web architecture presentation
World wide web architecture presentationImMe Khan
 
Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web developmentMohammed Safwat
 
Difference between-web-designing-and-web-development
Difference between-web-designing-and-web-developmentDifference between-web-designing-and-web-development
Difference between-web-designing-and-web-developmentGlobal Media Insight
 
1. web technology basics
1. web technology basics1. web technology basics
1. web technology basicsJyoti Yadav
 
HTTP request and response
HTTP request and responseHTTP request and response
HTTP request and responseSahil Agarwal
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)IIUI
 
The complete ASP.NET (IIS) Tutorial with code example in power point slide show
The complete ASP.NET (IIS) Tutorial with code example in power point slide showThe complete ASP.NET (IIS) Tutorial with code example in power point slide show
The complete ASP.NET (IIS) Tutorial with code example in power point slide showSubhas Malik
 
Web application framework
Web application frameworkWeb application framework
Web application frameworkPankaj Chand
 

What's hot (20)

Introduction to Web Development
Introduction to Web DevelopmentIntroduction to Web Development
Introduction to Web Development
 
Server Controls of ASP.Net
Server Controls of ASP.NetServer Controls of ASP.Net
Server Controls of ASP.Net
 
Asp.net w3schools
Asp.net w3schoolsAsp.net w3schools
Asp.net w3schools
 
What is Server? (Web Server vs Application Server)
What is Server? (Web Server vs Application Server)What is Server? (Web Server vs Application Server)
What is Server? (Web Server vs Application Server)
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Basics of the Web Platform
Basics of the Web PlatformBasics of the Web Platform
Basics of the Web Platform
 
Active browser web page
Active browser web pageActive browser web page
Active browser web page
 
World wide web architecture presentation
World wide web architecture presentationWorld wide web architecture presentation
World wide web architecture presentation
 
Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web development
 
Difference between-web-designing-and-web-development
Difference between-web-designing-and-web-developmentDifference between-web-designing-and-web-development
Difference between-web-designing-and-web-development
 
HTML: Chapter 01
HTML: Chapter 01HTML: Chapter 01
HTML: Chapter 01
 
1. web technology basics
1. web technology basics1. web technology basics
1. web technology basics
 
Tracing in ASp.Net
Tracing in ASp.NetTracing in ASp.Net
Tracing in ASp.Net
 
Web forms in ASP.net
Web forms in ASP.netWeb forms in ASP.net
Web forms in ASP.net
 
ASP.NET Lecture 1
ASP.NET Lecture 1ASP.NET Lecture 1
ASP.NET Lecture 1
 
HTTP request and response
HTTP request and responseHTTP request and response
HTTP request and response
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
The complete ASP.NET (IIS) Tutorial with code example in power point slide show
The complete ASP.NET (IIS) Tutorial with code example in power point slide showThe complete ASP.NET (IIS) Tutorial with code example in power point slide show
The complete ASP.NET (IIS) Tutorial with code example in power point slide show
 
Web application framework
Web application frameworkWeb application framework
Web application framework
 
ASP.NET Basics
ASP.NET Basics ASP.NET Basics
ASP.NET Basics
 

Viewers also liked

Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web ArchitectureChamnap Chhorn
 
Architecture of the Web browser
Architecture of the Web browserArchitecture of the Web browser
Architecture of the Web browserSabin Buraga
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web Appscothis
 

Viewers also liked (10)

Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web Architecture
 
Architecture of the Web browser
Architecture of the Web browserArchitecture of the Web browser
Architecture of the Web browser
 
Remote Login
Remote LoginRemote Login
Remote Login
 
How browser work
How browser workHow browser work
How browser work
 
web browser ppt
web browser pptweb browser ppt
web browser ppt
 
Remote Login
Remote LoginRemote Login
Remote Login
 
Web application architecture
Web application architectureWeb application architecture
Web application architecture
 
Web Browsers
Web BrowsersWeb Browsers
Web Browsers
 
Web Browsers
Web BrowsersWeb Browsers
Web Browsers
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web App
 

Similar to Web Browser Architecture Overview

To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...Tony Erwin
 
Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)Hyungwook Lee
 
Servlets as introduction (Advanced programming)
Servlets as introduction (Advanced programming)Servlets as introduction (Advanced programming)
Servlets as introduction (Advanced programming)Gera Paulos
 
Webdesigningandpublishingcomputerstudiestheorylesson 101212054612-phpapp02
Webdesigningandpublishingcomputerstudiestheorylesson 101212054612-phpapp02Webdesigningandpublishingcomputerstudiestheorylesson 101212054612-phpapp02
Webdesigningandpublishingcomputerstudiestheorylesson 101212054612-phpapp02Harshith Rockx
 
Static Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource ConditionStatic Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource ConditionIWMW
 
Html5 Application Security
Html5 Application SecurityHtml5 Application Security
Html5 Application Securitychuckbt
 

Similar to Web Browser Architecture Overview (20)

Web browser architecture.pptx
Web browser architecture.pptxWeb browser architecture.pptx
Web browser architecture.pptx
 
Building SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.jsBuilding SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.js
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
 
14_526_topic11.ppt
14_526_topic11.ppt14_526_topic11.ppt
14_526_topic11.ppt
 
14_526_topic11.ppt
14_526_topic11.ppt14_526_topic11.ppt
14_526_topic11.ppt
 
Firefox vs. chrome
Firefox vs. chromeFirefox vs. chrome
Firefox vs. chrome
 
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
 
Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)
 
Servlet programming
Servlet programmingServlet programming
Servlet programming
 
Servlets as introduction (Advanced programming)
Servlets as introduction (Advanced programming)Servlets as introduction (Advanced programming)
Servlets as introduction (Advanced programming)
 
Webdesigningandpublishingcomputerstudiestheorylesson 101212054612-phpapp02
Webdesigningandpublishingcomputerstudiestheorylesson 101212054612-phpapp02Webdesigningandpublishingcomputerstudiestheorylesson 101212054612-phpapp02
Webdesigningandpublishingcomputerstudiestheorylesson 101212054612-phpapp02
 
Servlet programming
Servlet programmingServlet programming
Servlet programming
 
Static Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource ConditionStatic Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource Condition
 
Html5 Application Security
Html5 Application SecurityHtml5 Application Security
Html5 Application Security
 
Static dynamic and active web pages
Static dynamic and active web pagesStatic dynamic and active web pages
Static dynamic and active web pages
 
Web application
Web applicationWeb application
Web application
 
Webapplication ppt prepared by krishna ballabh gupta
Webapplication ppt prepared by krishna ballabh guptaWebapplication ppt prepared by krishna ballabh gupta
Webapplication ppt prepared by krishna ballabh gupta
 
526_topic08.ppt
526_topic08.ppt526_topic08.ppt
526_topic08.ppt
 
9 10 july2020
9 10 july20209 10 july2020
9 10 july2020
 
DotNetNuke
DotNetNukeDotNetNuke
DotNetNuke
 

More from myrajendra (20)

Fundamentals
FundamentalsFundamentals
Fundamentals
 
Data type
Data typeData type
Data type
 
Hibernate example1
Hibernate example1Hibernate example1
Hibernate example1
 
Jdbc workflow
Jdbc workflowJdbc workflow
Jdbc workflow
 
2 jdbc drivers
2 jdbc drivers2 jdbc drivers
2 jdbc drivers
 
3 jdbc api
3 jdbc api3 jdbc api
3 jdbc api
 
4 jdbc step1
4 jdbc step14 jdbc step1
4 jdbc step1
 
Dao example
Dao exampleDao example
Dao example
 
Sessionex1
Sessionex1Sessionex1
Sessionex1
 
Internal
InternalInternal
Internal
 
3. elements
3. elements3. elements
3. elements
 
2. attributes
2. attributes2. attributes
2. attributes
 
1 introduction to html
1 introduction to html1 introduction to html
1 introduction to html
 
Headings
HeadingsHeadings
Headings
 
Forms
FormsForms
Forms
 
Css
CssCss
Css
 
Views
ViewsViews
Views
 
Views
ViewsViews
Views
 
Views
ViewsViews
Views
 
Starting jdbc
Starting jdbcStarting jdbc
Starting jdbc
 

Web Browser Architecture Overview

  • 1. Sub topic : Web Browser Architecture 1
  • 2. Objectives After completion of this period you would be able to understand about • Reference web browser • Reference web browser architecture • Various elements • Different browsers and their architectures 2
  • 3. Web Browser Architecture • The architecture of different browsers are different • But they are similar in some respects • Therefore a generic or reference architecture is explained here, followed by specific architectures
  • 4. A Reference Architecture to Web Browsers Fig.1 4
  • 5. A Reference Architecture to Web Browsers • The reference architecture shown in the Figure 1 comprises eight major subsystems. They are explained as follows • User Interface – The User Interface subsystem is the layer between the user and the Browser Engine – It provides features such as toolbars, visual page- load progress, smart download handling, preferences, and printing – It may be integrated with the desktop environment to provide browser session management or communication with other desktop applications
  • 6. The Reference Architecture • Browser Engine – It is an embeddable component that provides a high-level interface to the Rendering Engine – It loads a given URI and supports primitive browsing actions such as forward, back, and reload – It provides hooks for viewing various aspects of the browsing session such as current page load progress and JavaScript alerts – It also allows the querying and manipulation of Rendering Engine settings
  • 7. The Reference Architecture contd… • Rendering Engine – The Rendering Engine subsystem produces a visual representation for a given URI – It is capable of displaying HTML and Extensible Markup Language (XML) documents, optionally styled with CSS, as well as embedded content such as images – It calculates the exact page layout and may use “reflow” algorithms to incrementally adjust the position of elements on the page – This subsystem also includes the HTML parser
  • 8. The Reference Architecture contd… • Networking subsystem – The Networking subsystem implements file transfer protocols such as HTTP and FTP – It translates between different character sets, and resolves MIME media types for files – It may implement a cache of recently retrieved resources
  • 9. The Reference Architecture contd… • JavaScript Interpreter – The JavaScript Interpreter evaluates JavaScript (also known as ECMAScript) code, which may be embedded in web pages – JavaScript is an object-oriented scripting language developed by Netscape – Certain Java- Script functionality, such as the opening of pop-up windows, may be disabled by the Browser Engine or Rendering Engine for security purposes
  • 10. The Reference Architecture contd… • XML Parser – The XML Parser subsystem parses XML documents into a Document Object Model (DOM) tree – This is one of the most reusable subsystems in the architecture – In fact, almost all browser implementations leverage an existing XML Parser rather than creating their own from scratch
  • 11. The Reference Architecture contd… • Display Backend subsystem – The Display Backend subsystem provides drawing and windowing primitives, a set of user interface widgets, and a set of fonts – It may be tied closely with the operating system
  • 12. The Reference Architecture contd… • Data Persistence subsystem – The Data Persistence subsystem stores various data associated with the browsing session on disk – This may be high-level data such as bookmarks or toolbar settings, or it may be low-level data such as cookies, security certificates, or cache
  • 13. Other Web Browser Architectures Presentation Module User Interface Object Model History stack URL HTML Parser Web Browser Network Interface Browser HTTP Module Cache Management Cache Request Response Internet Web Server 1 Web Server 2 Web Server 2 …… Web Server N Fig.9 13
  • 14. Web Local Cache • cache settings (inside browser) examples automatically: all cacheable web pages are valid per session: in current session, all cacheable web pages are valid • HTTP cache controls (associated with received web pages) a web page cacheable valid period uncacheable: its expire time as the same time it is created 14
  • 15. Modeling of Caching Settings • assume given setting is automatically • a web page is cacheable: if the cacheable setting is included in the header part of the HTTP message containing the web page • For HTTP cache control, no model of expire time if a page is cacheable, the page is always fresh • each page associated with an attribute for cacheability 15
  • 16. Session Control • most web applications need to maintain communication sessions with their client browsers, and monitor each client's individual status and activities • example: an online banking system should maintain a communication session with a specific user during the time the user has logged in (and not yet logged out) • HTTP is stateless, no functionality on session control • cookie technique -- a solution 16
  • 17. Modeling of Session Control • only sessions for authentications • no consideration of relationship between cookie and dynamic content/link • assume it is given whether a page is secure or not secure page: should always be accessed with authentication session open all entry pages are by nature not secure • two special actions SignIn and SignOut: session will remain open for the consecutive accesses to secure pages until SignOut performed 17
  • 18. Web Browser - Architecture Fig.10 18
  • 19. Web Browser - Architecture Fig.11 19
  • 20. Web Browser – Architecture : Mozilla Fig.12 20
  • 21. Web Browser - Architecture Fig.13 21
  • 22. Summary In this class, you have learnt about • Web Browser Introduction • Web Browser Architecture • Session, Navigation Control • Different Browser Examples 22
  • 23. Frequently Asked Questions 1. Explain in detail about Web browser architecture 2. List few famous Web browsers 3 List few applications of Web browsers home 23

Editor's Notes

  1. Our abstract model of web browsers are based on the interfaces of and some existing documents on two major web browsers, Netscape Navigator and Internet Explorer presentation module: responsible for presenting a web page, and processing user navigation events. network interface module: maintains communications between browser and all web servers. generates HTTP request messages and sends to designated web servers. retrieves web pages embedded in response messages and performs operations on its local cache HTML parser: parses HTML web pages, and constructs an object model for each web page. history stack and local cache: maintained for reloading previously visited URLs and web pages
  2. The use of the browser's local cache depends on both cache settings and HTTP cache controls.
  3. automatically: widely used and which is the most complicated setting to model.