web browser architecture.87 to 88
TRANSCRIPT
1
Sub topic : Web Browser Architecture
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
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
• 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
A Reference Architecture to Web Browsers
• 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
• 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
The Reference Architecture contd…
13
Other Web Browser Architectures
Web BrowserHTML Parser
History stack
Browser Cache
Presentation Module
Object ModelUser Interface
Network Interface
HTTP Module Cache Management
InternetRequest Response
……Web Server 1 Web Server 2 Web Server N
URL
Web Server 2
Fig.9
14
Web Local Cache
• cache settings (inside browser)examples
automatically: all cacheable web pages are validper session: in current session, all cacheable web
pages are valid• HTTP cache controls (associated with received web
pages)a web page
cacheablevalid perioduncacheable: its expire time as the same time it is
created
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
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
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 notsecure page: should always be accessed with
authentication session openall 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
18
Web Browser - Architecture
Fig.10
19
Web Browser - Architecture
Fig.11
20
Web Browser – Architecture : Mozilla
Fig.12
21
Web Browser - Architecture
Fig.13
22
Summary
In this class, you have learnt about
• Web Browser Introduction
• Web Browser Architecture
• Session, Navigation Control
• Different Browser Examples
home 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