Can anyone explain how the communication takes place between the browser and web server? I want to learn how
Your browser first resolves the servername via DNS to an IP. Then it opens a TCP connection to the webserver and tries to communicate via HTTP. Usually that is on TCP-port 80 but you can specify a different one (http://server:portnumber).
HTTP looks like this:
Once it is connected, it sends the request, which looks like:
GET /site HTTP/1.0
Header1: bla
Header2: blub
{emptyline}
E.g., a header might be Authorization or Range. See here for more.
Then the server responds like this:
200 OK
Header3: foo
Header4: bar
content following here...
E.g., a header might be Date or Content-Type. See here for more.
Look at Wikipedia for HTTP for some more information about this protocol.