What's the whole point of "localhost", hosts and ports at all?
Asked Answered
U

11

106

I'm totally new to this web development stuff. So I see things like "localhost" all the time and ask myself: What's that?

I feel to know what a "host" actually is. Something that executes something. So my mac is the host for everything that runs on it. So "localhost" is actually just my mac? Can I have also other hosts? like "otherhost" or "betterhost"?

So when I write in my browser: http://localhost:80/mysite/index.php, this "localhost" thing tells the browser to look on my machine for that stuff rather than online?

Maybe someone can clear this up a little bit :-)

Udele answered 22/12, 2009 at 12:48 Comment(0)
W
71

In computer networking, localhost (meaning "this computer") is the standard hostname given to the address of the loopback network interface.

Localhost always translates to the loopback IP address 127.0.0.1 in IPv4.

It is also used instead of the hostname of a computer. For example, directing a web browser installed on a system running an HTTP server to http://localhost will display the home page of the local web site.

Source: Wikipedia - Localhost.


The :80 part is the TCP port. You can consider these ports as communications endpoints on a particular IP address (in the case of localhost - 127.0.0.1). The IANA is responsible for maintaining the official assignments of standard port numbers for specific services. Port 80 happens to be the standard port for HTTP.

Williemaewillies answered 22/12, 2009 at 12:50 Comment(3)
+1. Good explanation. I particularly like the way that SO has turned localhost into a link that will resolve to each reader's own computer :-)Psychophysics
Are there any other good ports on which to host a local website, i.e. I've already got one running on :80Pursuer
@thomas you can do localhost:8087 in your browser to get port 8087. There are no "good ports" except the ones your browser automatically connects toWatershed
G
29

Port: In simple language, "Port" is a number used by a particular software to identify its data coming from internet.

Each software, like Skype, Chrome, Youtube has its own port number and that's how they know which internet data is for itself.

Socket: "IP address and Port " together is called "Socket". It is used by another computer to send data to one particular computer's particular software.

IP address is used to identify the computer and Port is to identify the software such as IE, Chrome, Skype etc.

In every home, there is one mailbox and multiple people. The mailbox is a host. Your own home mailbox is a localhost. Each person in a home has a room. All letters for that person are sent to his room, hence the room number is a port.

Geoponic answered 18/12, 2018 at 3:0 Comment(0)
R
19

" In computer networking, a network host, Internet host, host, or Internet node is a computer connected to the Internet - or more generically - to any type of data network. A network host can host information resources as well as application software for providing network services. "-Wikipedia

Local host is a special name given to the local machine or that you are working on, ussually its IP Address is 127.0.0.1. However you can define it to be anything.

There are multiple Network services running on each host for example Apache/IIS( Http Web Server),Mail Clients, FTP clients etc. Each service has a specific port associated with it. You can think of it as this.

In every home, there is one mailbox and multiple people. The mailbox is a host. Your own home mailbox is a localhost. Each person in a home has a room. All letters for that person are sent to his room, hence the room number is a port.

Resemblance answered 22/12, 2009 at 15:2 Comment(0)
V
10

Everyone seems to focus on the host part of your questions. Ports are used to be able to run several servers (for example for different purposes such as file sharing, web serving, printing, etc) from the same machine (one single IP address).

Vaporize answered 22/12, 2009 at 13:1 Comment(0)
E
6

Yes, localhost just means that you are talking to the webserver om the same machine that you are currently using.

Other servers are contacted through either their IP-address or a given name.

Exieexigency answered 22/12, 2009 at 12:53 Comment(0)
T
4

Localhost generally refers to the machine you're looking at. On most machines localhost resolves to the IP address 127.0.0.1 which is the loopback address.

Tetra answered 22/12, 2009 at 12:51 Comment(0)
R
3

Some databases are designed to communicate over the web using ports assigned by the Internet Assigned Number Authority (IANA) and when run on individual PC use the ports with localhost. Some common databases with their default ports (the defualts can usually be overridden):

Port Database

1433 Microsoft SQL Server https://support.microsoft.com/en-us/kb/287932

3306 MySQL https://dev.mysql.com/doc/refman/4.1/en/connecting.html

5432 PostgreSQL

1527 Apache Derby (database)

Some web servers and databases are paired together such as Apache/MySQL (as in LAMP or XXAMP) or MS Internet Information Server (IIS)/MS SQL Server (IIS/SQL Server) in which case you have to be concerned with both the port of the database and the web server -- a common example of this is WordPress which uses Apache/MySQL.

Righthand answered 2/5, 2015 at 18:3 Comment(0)
S
2

Well, others have given a good definition of 'localhost'.

It is kind of a defacto for the text representation of the local IP 127.0.0.1.

You can have 'betterhost', 'otherhost', 'someotherhost' if you use a DNS server that can translate it to working IP addresses, OR by modifying the host file. But that's another topic for another day or better day. :P

Swarm answered 22/12, 2009 at 12:56 Comment(0)
M
1

Regarding you question about betterhost and such, see host; basically every IP address is a host.

I suggest you start reading-up from host and only than go on to localhost (which is a type of host)

Meadowsweet answered 22/12, 2009 at 12:57 Comment(0)
M
1

I heard a good description (parable) which illustrates ports as different delivery points for a large building, e.g. Post office for letters and small parcels, Goods In for large deliveries / pallets, Doors for people.

Mayda answered 22/12, 2009 at 14:7 Comment(0)
E
0

Simply the port are used to get done different purposes for an example you can open port 80 (which is the default port for HTTP service) to access a website that you've been developing and you can use ports to do different tasks from the same machine (local computer) Localhost simply means that the the website is hosted in your local computer not in the internet. So thats beneficial because you can do various testings and debugging and things because you have your own hosting server (locahost) with you. If you go and host in somewhere in the internet the localhost part will be replaced by a real ip address that others can access. Localhost got an ip address itself assigned that can access only from your pc which is http://127.0.0.1/

Hope this helps Cheers!

Effector answered 2/5, 2024 at 10:51 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.