| 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. |
| 1. | A web browser has the following responsibilities: |
| 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. |
| 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. |
| 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). |

| 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. |
