Internet and Web programming: Behind the scenes

The Internet is a vast network of computers, and server’s, which communicate with each other. The internet connect’s with the whole wide world together. How does it actually work at a very low level?

Client side:
First when we type a url like www.google.com, the browser converts it into a file containing:

  1. GET /HTTP/1.1 (where GET means we are requesting some data from the server and HTTP refers to protocol that we are using, 1.1 refers to version of HTTP request)
  2. Host: www.google.com
  3. And some other information

Now this file is converted to binary code by the browser and it is sent down the wires if we are connected through Ethernet and if we are using WiFi, first it converts it to radio signal which is decoded by router in a very low level. It is converted to binary and then sent to the servers.

This information or ‘binary codes’ go to the destination and respond if it is received by the sender only because of the IP address.

One router will send the information to another and this keeps on going until the binary codes reach the destination.



Server side:
Now the server receives the binary code and decodes it and sends the response in the following manner:

  1. HTTP/1.1 200 ok (where 200 ok is the status)
  2. Content-type:type/html
  3. Body of page

Now this is converted back to binary by the server and sent to the IP address that is requesting it. Once the codes are received by the client, the browser again decodes the information in the following way:

  1. First it checks the status
  2. It starts reading the document from html tag and constructs a Tree like structure.
  3. The html tree is then converted to corresponding binary code and rendered on the screen.
  4. In the end we see the website front-end.

Below is the tree structure of html document:

The following diagram show the whole process:

To understand the basic web terminology refer: The Internet and the Web



My Personal Notes arrow_drop_up

Tech Enthusiast, hardworking with the ability to learn new skills within a limited amount of time Passionate about learning new technologies and building something better out of them Also a team player with good communication skills The software is changing the world so fast and I love being a part

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : joshhazelhurst123