From MDN:
A Web browser or browser is a program that retrieves and displays pages from the Web, and lets users access further pages through hyperlinks. A browser is the most familiar type of user agent. It uses a rendering engine to display web pages.
Building a web browser is complicated. Some of the considerations can be found in https://stackoverflow.com/questions/598841/how-to-get-started-building-a-web-browser. Among other things, you’ll need a rendering engine (like Blink, Gecko, or WebKit) and a JavaScript engine (like V8, SpiderMonkey, or JavaScriptCore).
From the MDN documentation linked above: a rendering engine transforms HTML, CSS, and other resources of a web page into a visual representation on a screen. JavaScript engines are interpreters that parse and execute JavaScript code.
Another way to understand the components required to build a web browser is to look at the source code for an open source web browser project. For example, Chromium has this helpful document which describes how the project’s directory structure is setup, and also provides some insights into the different components of the browser.
There are many standards to comply with when building a web browser, for example W3C standards, HTML Spec, and ECMA standards.