Possible Duplicate:
What exactly happens when you browse a website in your browser.


First URL stands for Uniform Resource Locator. It will be very difficult to remember an IP address. Instead of remembering the IP addresses URL came like www.intrepidkarthi.com. Url normally contains three parts. For example http://intrepidkarthi.com/index.php. Here "http" refers to the protocol it uses. Then the server name and then the requested file name.

Here I have enlisted the flow of working mechanism behind your browser The flow of work

  • Your browser communicates with a name server to translate the server name "www.intrepidkarthi.com" into an IP Address, which it uses to connect to the server machine. * So your browser will see if it already has the appropriate IP address cached away from previous visits to the site. If not, it will make a DNS query to your DNS server (might be your router or your ISP's DNS server). DNS stands for Domain Name Server - For exapmle if you want to get karthik's phone number then you will look into your telephone directory. Likewise your computer doesn't know intrepidkarthi.com's IP address . So it looks into DNS.
  • The browser then formed a connection to the server at that IP address on port 80. HTTP protocol uses port number 80
  • The browser sends a GET request to the server, asking for the file "http://www.google.com/karthikeyan.htm". The webserver then returns the requested page and your browser renders it to the screen.
  • The firewall will control connections to & from your computer. For the most part it will just be controlling who can connect to your computer and on what ports. For web browsing your firewall generally won't be doing a whole lot.
  • Your router essentially guides your request through the network, helping the packets get from computer to computer and potentially doing some NAT (Network Address Tranlator) to translate IP addresses along the way (so your internat LAN request can be transitioned onto the wider internet and back).

I don't know what I understood is correct or not. I need to understand it completely till the hardware level at the back.

marked as duplicate by Arjan, Ivo Flipse Jun 27 '10 at 20:03

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

migrated from stackoverflow.com Jun 27 '10 at 18:56

This question came from our site for professional and enthusiast programmers.


You have a pretty decent understanding of the flow.

A DNS lookup must first be performed, in order to obtain an IP address. HTTP then uses TCP/IP to open a connection, by default on port 80. After establishing the connection, it'll send a HTTP GET request for some content. The server will respond in some way, hopefully w/ an existing page and not some error. That will then be displayed by the browser. (Note, I'm not detailing what occurs on both ends. On the server end, it's basically backwards. An IP packet comes in, the TCP packet is pulled out. The TCP packet's contents is the HTTP request. That is then handled by the a web server.)

Pure routers will only be interested in the IP protocol. Your typical home router, which employs NAT to allow multiple devices to use one external IP, will also be interested in TCP traffic as most NAT routers modify the ports as part of connection management.



A network connection consists of several layers and each layer has it's own protocols. Read about the OSI model on Wikipedia: http://en.wikipedia.org/wiki/OSI_model