3.1 Web Browser


1. A web browser is the software component through which the user accesses the World Wide Web (WWW).
2. It acts as an interface between the user and the WWW.
3. A web page is typically constructed using the HyperText Markup Language (HTML), which will be discussed in a later lecture.

a) HTML provides a set of mark-ups that allows for the presentation of text.
b) In addition, HTML allows for embedding other forms of data on a web page including images, animations, audio and video.

4. For the rest of this lecture, a web page will be considered as composed of a set of web objects (a HTML file plus images, animations, etc.).
5. A description of web browser responsibilities is provided next. This is followed by a typical architecture of a web browser. Finally, examples of major web browsers are provided.


Browser Responsibilities
1. A web browser has the following responsibilities:


3.1 Web Browser


a) Sending HTTP messages to web servers based on the user’s requests.
b) Receiving HTTP messages (replies) from web servers that contain web objects requested (html files, image files, etc.).
c) Interpreting and displaying the data content of the HTTP replies (sent) from web servers and display them on the browser’s GUI.

2. For example, a user would access Mediu’s home page with URL http://www.mediu.edu.my using a web browser as follows:
d) The web browser receives an input from the user asking for the access of the page by either by clicking on a link or a web object or specifying its URL.
e) The web browser forms a HTTP request message containing Mediu’s URL and sends the message to the web server hosting Mediu’s website.
f) The web browser receives a HTTP reply message containing the HTML file of Mediu’s home page.
g) The web browser interprets the HTML file received. It detects the references in the HTML file to other web objects (images, animations, etc.) on Mediu’s home page. The browser issues a HTTP request message for each web object.
h) All HTTP reply messages received by the browser are interpreted and their contents are displayed on the browser’s GUI.



3.1 Web Browser


Web Browser Architecture
1. A typical architecture of a web browser is shown in Figure 3.1.
2. The GUI component includes a set of graphical components that allows the user to interact with the browser.

o It includes an interface to typical browser functionalities including saving, editing, bookmarking, etc.

3. The Browser Engine supports browsing features such as initializing URL loading, reloading, going back to a previous page, etc.

a) It is also responsible for providing the GUI with errors and loading progress messages.

4. The Data Persistence component stores user data such preferences and URL bookmarks.
5. The Rendering Engine is responsible for interpreting HTML files (also XML and JavaScript files) contained in the web page being loaded on the browser.

b) The Rendering Engine passes its visual interpretation to the GUI for display.


3.1 Web Browser


6. The Networking Component implements the HTTP protocol that is used to communicate with web servers.

c) It is responsible for forming and sending HTTP request messages to servers and handling received server HTTP reply messages (which it passes to the Rendering Engine for interpretation).



Figure 3.1: Typical Architecture of a Web Browser



3.1 Web Browser


Examples of Web Browsers
1. A number of alternative web browsers are available.
2. They all share the same main functionalities described in the previous sections.
3. Figure 3.2 shows a graph illustrating the top five browsers and their usage share in March 2011 (Source: StatCounter.com):

a) The Internet Explorer (IE): developed by Microsoft
b) Firefox: a free browser developed by Mozilla, an open source community.
c) Chrome: Developed by Google.
d) Safari: developed by Apple.
e) Opera: a free light web browser developed by Opera Software Company.



3.1 Web Browser



Figure 3.2: Statistics on the Usage of Different Browsers (Source: StatCounter.com)