A web browser (commonly referred to as a browser) is a software application for retrieving, presenting and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier (URI/URL) that may be a web page, image, video or other piece of content. Hyperlinks present in resources enable users easily to navigate their browsers to related resources.
Although browsers are primarily intended to use the World Wide Web, they can also be used to access information provided by web servers in private networks or files in file systems.
Few popular web browsers are discussed.
Google Chrome
Google Chrome is a freeware web browser developed by Google. It was first released in September 2008, for Microsoft Windows, and was later ported to Linux, macOS, iOS and Android. Google Chrome is also the main component of Chrome OS, where it serves as a platform for running web apps. It is the default web browser on Android.
Google releases the majority of Chrome’s source code as the Chromium open-source project. Chrome used the WebKit layout engine until version 27. As of version 28, all Chrome ports except the iOS port use Blink, a fork of the WebKit engine.
As of Q2 2017, StatCounter estimates that Google Chrome has a 63% worldwide usage share of web browsers as a desktop browser. On the HTML5 web standards test, Chrome 41 scores 518 out of 555 points, placing it ahead of the five most popular desktop browsers.
Chrome periodically retrieves updates of two blacklists (one for phishing and one for malware), and warns users when they attempt to visit a site flagged as potentially harmful. This service is also made available for use by others via a free public API called “Google Safe Browsing API”.
Chrome uses a process-allocation model to sandbox tabs. Using the principle of least privilege, each tab process cannot interact with critical memory functions (e.g. OS memory, user files) or other tab processes – similar to Microsoft’s “Protected Mode” used by Internet Explorer 9 or greater. The Sandbox Team is said to have “taken this existing process boundary and made it into a jail.” This enforces a computer security model whereby there are two levels of multilevel security (user and sandbox) and the sandbox can only respond to communication requests initiated by the user. On Linux sandboxing uses the seccomp mode.
Mozilla Firefox
Mozilla Firefox (or simply Firefox) is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary the Mozilla Corporation. Firefox is available for Windows, macOS and Linux operating systems, with its Firefox for Android available for Android (formerly Firefox for mobile, it also ran on the discontinued Firefox OS), and uses the Gecko layout engine to render web pages, which implements current and anticipated web standards. Firefox allows an open architecture which accepts the installation of themes and extensions.
Firefox implements many web standards, including HTML4 (almost full HTML5), XML, XHTML, MathML, SVG 2 (partial), CSS (with extensions), ECMAScript (JavaScript), DOM, XSLT, XPath, and APNG (Animated PNG) images with alpha transparency. Firefox also implements standards proposals created by the WHATWG such as client-side storage, and canvas element. These standards are implemented through the Gecko layout engine, and Spidermonkey JavaScript engine.
Firefox also implements a proprietary protocol from Google called “Safe Browsing”, used to exchange data related with phishing and malware protection.
Firefox allowed for a sandbox security model to manage privileges accorded to JavaScript code, but that feature has since been deprecated. It limits scripts from accessing data from other websites based on the same-origin policy. It also provides support for smart cards to web applications, for authentication purposes. It uses SSL/TLS to protect communications with web servers using strong cryptography when using the HTTPS protocol.
Opera Web Browser
Opera is a web browser for Windows, macOS, and Linux operating systems developed by Opera Software. It uses the Blink layout engine. An earlier version using the Presto layout engine is still available, and runs on FreeBSD systems.
Opera includes built-in tabbed browsing, a bookmarks bar, add-ons, and a download manager. Opera also has “Speed Dial”, which allows the user to add an unlimited number of pages shown in thumbnail form in a page displayed when a new tab is opened. Speed Dial allows the user to more easily navigate to the selected web pages.
One security feature is the option to delete private data, such as HTTP cookies, browsing history, items in cache and passwords with the click of a button. This lets users erase personal data after browsing from a shared computer.
Safari Web Browser
Safari is a web browser developed by Apple based on the WebKit engine. First released in 2003 with Mac OS X Panther, a mobile version has been included in iOS devices since the introduction of the iPhone in 2007. It is the default browser on Apple devices. A Windows version, now discontinued, was available from 2007 to 2012
On macOS, Safari is a Cocoa application. It uses Apple’s WebKit for rendering web pages and running JavaScript. WebKit consists of WebCore (based on Konqueror’s KHTML engine) and JavaScriptCore (originally based on KDE’s JavaScript engine, named KJS).
Apple maintains a plugin blacklist that it can remotely update to prevent potentially dangerous or vulnerable plug-ins from running on Safari. So far, Apple has blocked versions of Flash and Java.
Apple tracks use of the browser. Windows users may not opt out of tracking, since their license omits the opening If clause.
Internet Explorer
Internet Explorer (formerly Microsoft Internet Explorer or Windows Internet Explorer, is commonly abbreviated IE or MSIE. It has been developed by Microsoft and included in the Microsoft Windows operating systems as default web browser, since 1995.
Versions of Internet Explorer for other operating systems have also been produced, including an Xbox 360 version called Internet Explorer for Xbox and for platforms Microsoft no longer supports: Internet Explorer for Mac and Internet Explorer for UNIX (Solaris and HP-UX), and an embedded OEM version called Pocket Internet Explorer, later rebranded Internet Explorer Mobile made for Windows Phone, Windows CE, and previously, based on Internet Explorer 7 for Windows Mobile.
On March 17, 2015, Microsoft announced that Microsoft Edge would replace Internet Explorer as the default browser on its Windows 10 devices. This effectively makes Internet Explorer 11 the last release.
Internet Explorer, uses the Trident layout engine, which
- Supports HTML 4.01, HTML 5, CSS Level 1, Level 2 and Level 3, XML 1.0, and DOM Level 1, with minor implementation gaps.
- Fully supports XSLT 1.0 as well as an obsolete Microsoft dialect of XSLT often referred to as WD-xsl, which was loosely based on the December 1998 W3C Working Draft of XSL. Support for XSLT 2.0 lies in the future: semi-official Microsoft bloggers have indicated that development is underway, but no dates have been announced.
- Almost full conformance to CSS 2.1 has been added in the Internet Explorer 8 release. The trident rendering engine in Internet Explorer 9 in 2011, scored highest in the official W3C conformance test suite for CSS 2.1 of all major browsers.
- Supports XHTML in Internet Explorer 9 (Trident version 5.0). Prior versions can render XHTML documents authored with HTML compatibility principles and served with a text/html MIME-type.
- Supports a subset of SVG in Internet Explorer 9 (Trident version 5.0), excluding SMIL, SVG fonts and filters.
Internet Explorer uses DOCTYPE sniffing to choose between standards mode and a “quirks mode” in which it deliberately mimicks nonstandard behaviours of old versions of MSIE for HTML and CSS rendering on screen (Internet Explorer always uses standards mode for printing). It also provides its own dialect of ECMAScript called JScript.
Internet Explorer uses a componentized architecture built on the Component Object Model (COM) technology. It consists of several major components, each of which is contained in a separate Dynamic-link library (DLL) and exposes a set of COM programming interfaces hosted by the Internet Explorer main executable, iexplore.exe:
Internet Explorer does not include any native scripting functionality. Rather, MSHTML.dll exposes an API that permits a programmer to develop a scripting environment to be plugged-in and to access the DOM tree. Internet Explorer 8 includes the bindings for the Active Scripting engine, which is a part of Microsoft Windows and allows any language implemented as an Active Scripting module to be used for client-side scripting. By default, only the JScript and VBScript modules are provided.
Internet Explorer uses a zone-based security framework that groups sites based on certain conditions, including whether it is an Internet- or intranet-based site as well as a user-editable whitelist. Security restrictions are applied per zone; all the sites in a zone are subject to the restrictions.
Internet Explorer 6 SP2 onwards uses the Attachment Execution Service of Microsoft Windows to mark executable files downloaded from the Internet as being potentially unsafe. Accessing files marked as such will prompt the user to make an explicit trust decision to execute the file, as executables originating from the Internet can be potentially unsafe. This helps in preventing accidental installation of malware.
Internet Explorer 7 introduced the phishing filter, that restricts access to phishing sites unless the user overrides the decision. With version 8, it also blocks access to sites known to host malware. Downloads are also checked to see if they are known to be malware-infected.
Microsoft Edge
Microsoft Edge (codename “Spartan”) is a web browser developed by Microsoft and included in Windows 10, Windows 10 Mobile and Xbox One, replacing Internet Explorer as the default web browser on all device classes.
Edge does not support ActiveX or Browser Helper Objects of Internet Explorer.
EdgeHTML is a proprietary layout engine developed for Edge. It is a fork of Trident that has removed all legacy code of older versions of Internet Explorer and rewritten the majority of its source code to support web standards and interoperability with other modern browsers. EdgeHTML is written in C++.
EdgeHTML is meant to be fully compatible with the WebKit layout engine used by Safari, Chrome and other browsers.
Edge originally lacked support for open media standards such as WebM and Opus, but these were later added in Edge 14.14291.