What happens when you type a url in browser

Ever wondered What happens when you type a url in browser. Let us see what happens and in what manner.

What happens when you type a url in browser

What happens when you type a url in browser

You type an URL into address bar in your preferred browser.

The browser parses the URL to find the protocol, host, port, and path.

It forms a HTTP request (that was most likely the protocol)

It look for the host to be present in host file of the system.

If present in host file it is redirected to the host listed like localhost to which is your own machine.

To reach the host, it first needs to translate the human readable host into an IP number, and it does this by doing a DNS lookup on the host

Then a socket needs to be opened from the user’s computer to that IP number, on the port specified (most often port 80)

When a connection is open, the HTTP request is sent to the host

The host forwards the request to the server software (most often Apache or nginx) configured to listen on the specified port

The server inspects the request (most often only the path), and launches the server plugin needed to handle the request (corresponding to the server language you use, PHP, Java, .NET, Python?)

The plugin gets access to the full request, and starts to prepare a HTTP response.

To construct the response a database is (most likely) accessed. A database search is made, based on parameters in the path (or data) of the request

Data from the database, together with other information the plugin decides to add, is combined into a long string of text (probably HTML, json in case of apis).

The plugin combines that data with some meta data (in the form of HTTP headers), and sends the HTTP response back to the browser.

The browser receives the response, and parses the HTML (which with 95% probability is broken) in the response

A DOM tree is built out of the broken HTML

New requests are made to the server for each new resource that is found in the HTML source (typically images, style sheets, and JavaScript files). Go back to step 3 and repeat for each resource.

Stylesheets are parsed, and the rendering information in each gets attached to the matching node in the DOM tree

Javascript is parsed and executed, and DOM nodes are moved and style information is updated accordingly

The browser renders the page on the screen according to the DOM tree and the style information for each node

You see the page on the screen

The content of the article is taken after modifying this answer from Quora.

Gaurav Yadav

Gaurav is cloud infrastructure engineer and a full stack web developer and blogger. Sportsperson by heart and loves football. Scale is something he loves to work for and always keen to learn new tech. Experienced with CI/CD, distributed cloud infrastructure, build systems and lot of SRE Stuff.

  • Bruceasser

    Хорошего дня.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.