Nowadays, we see many sites that show our geographical location the screen when we hit the page.
So how do the sites find out this information? Well, on the server side, we can obtain the IP address of the client (or the Internet provider proxy) from the request object.
From this IP address, we can query a database(typically csv files) and obtain the location information. The country information is free and available for download here.
For state and city information, U got to stuff out some moolah.. :)
More information can be found out here-