In computer networking, localhost (meaning this computer) is the standard hostname given to the address of the loopback network interface. The name is also a reserved top-level domain name[1] (cf. .localhost), set aside to avoid confusion with the narrower definition as a hostname.
On modern computer systems, localhost as a hostname translates to an IPv4 address in the 127.0.0.0/8 (loopback) net block, usually 127.0.0.1, or ::1 in IPv6.[2]
Localhost is specified where one would otherwise use 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, provided the server is configured to service the loopback
interface.
Communicating with the loopback interface in an identical manner as
with another computers on the network, but bypassing the local network
interface hardware, is useful for the purposes of testing software.
Connecting to locally hosted network services, such as a computer game server, or for other inter-process communications, can be performed through loopback addresses in a highly efficient manner.
The Internet Engineering Task Force (IETF) Internet Standard document STD-2 series (e.g., RFC 1700) reserved the 127.0.0.0/8 address block for loopback purposes.[3] until such definitions were updated exclusively through the Internet Assigned Numbers Authority (IANA) website.[4] A later IETF document, Special-Use IPv4 Addresses (RFC 3330) describes the usage of the IPv4 address block 127.0.0.0/8 for loopback purposes.[5] It is therefore excluded from assignment by a Regional Internet Registry or IANA.
For IPv4 communications, the virtual loopback interface of a computer system is normally assigned the address 127.0.0.1 with subnet mask 255.0.0.0. Depending on the specific operating system in use (notably in Linux) and the routing mechanisms installed, this populates the routing table of the local system with an entry so that packets destined to any address from the 127.0.0.0/8 block would be routed internally to the network loopback device.
In IPv6, on the other hand, the loopback routing prefix ::1/128 consists of only one address ::1 (0:0:0:0:0:0:0:1
in full notation), the address with a one at its least significant bit
and zero otherwise) is explicitly defined as the loopback address,[6] though additional addresses may be assigned as needed to the loopback interface by the host administrator.
Any IP datagram
with a source or destination address set to a loopback address must not
appear outside of a computing system, or be routed by any routing
device. Packets received on an interface with a loopback destination
address must be dropped.
One notable exception to the use of the 127/8 network addresses is their use in Multiprotocol Label Switching (MPLS) traceroute error detection techniques (RFC 4379) in which their property of not being routable provides a convenient means to avoid delivery of faulty packets to end users.