Question: When I visited the website <http://myipaddress.com/what-is-my-ip-address/>

I checked the request header information. No where does it include my ip address. So how is the web server able to determine my ip address? I know that any web server has access to this information. But if its not there in the HTTP request, how do they get it?

Answer: 
You're connecting to the server and sending it an HTTP request. The server replies with a page. To do that, it has to know where to send the reply to. That information is automatically available from the socket connection (i.e. from a lower level than HTTP), so it doesn't have to be repeated in the request headers.

*Edit:*
If you want to know more about how the web server does this, see the [`accept` function](http://www.kernel.org/doc/man-pages/online/pages/man2/accept.2.html). When a connection comes in, the web server calls `accept`, which automatically provides it with the address of the other side.
It's in the incoming TCP/IP packet to the web server. HTTP packets are encapsulated within TCP/IP packets when sent across the Internet (which, as strange as it may seem, are also themselves encapsulated by a variety of protocols in transit).

The incoming TCP/IP packet will contain a bit of information about the source including the [source IP address](http://en.wikipedia.org/wiki/IPv4_packet#Packet_structure) as well as the [source port number](http://en.wikipedia.org/wiki/Transmission_Control_Protocol#TCP_segment_structure).