Web browser Architecture
Overview
Let’s understand the web browser architecture in this tutorial. First things first, web browser is a web client program that allows clients to communicate with web servers.
Web browser architecture
The architecture of a web browser involves various browser components working together to provide a seamless browsing experience to the user.
Some of the browser components are as follows:
- Browser GUI
- Browser Engine
- Rendering Engine
- JavaScript Engine
- Networking Stack
- Browser Storage
Browser GUI
The Browser GUI is the front-end of the browser that users interact with. It includes elements such as the address bar, toolbar, navigation buttons, bookmarks, and settings. The UI is designed to be user-friendly and provide easy navigation and control over the browser’s features.
Browser Engine
The browser engine queries and manipulates the rendering engine based on the user input.
Rendering Engine
The rendering engine is the component responsible for parsing HTML, XML, and CSS, determining the web page’s structure, and rendering it on the screen. Popular rendering engines are as follows:
- Blink (Google Chrome)
- Gecko (Mozilla Firefox)
- WebKit (Apple Safari)
Networking Stack
Networking component handles the communication between the browser and the internet. It includes protocols like HTTP, HTTPS, and FTP. The networking stack is responsible for making requests to web servers, receiving responses, and managing data transfer.
Javascript Engine
Interprets and executes JavaScript code embedded in web pages on the browser. The interpreted results are sent to the rendering engine for display. Common JavaScript engines are as follows:
- V8 (Google Chrome)
- SpiderMonkey (Mozilla Firefox)
- JavaScriptCore (Apple Safari)
Browser Storage
Browser storage is storage for web resources. Browser supports different storage mechanisms like localStorage, file system, IndexedDB, etc. A database on the local drive of the computer that storages and manages data. Examples of storage are:
- Web cache
- Cookies
- Bookmarks
- Preferences