Der Name localhost ist in der Netzwerktechnik der ähnlich einer Norm definierte Domainname der IP-Adresse des momentan genutzten eigenen Rechners. Umgangssprachlich bezeichnet localhost auch einen auf dem eigenen Rechner (daher „local“ = lokal) simulierten Webserver (= host), der im Browser mit dem Domainnamen localhost zugänglich ist.

Domainname
Üblicherweise ist das eigene System (der local host, wenn es mit Webserver-Fähigkeiten ausgestattet ist - siehe weiter unten) unter der IP-Adresse ::1 für IP-Applikationen auf dieselbe Weise erreichbar wie ein fernes System (ein remote host) unter einer gewöhnlichen Adresse. Das ermöglicht es unter anderem, Serverapplikationen mit einem Client auf demselben Rechner zu betreiben. Ein solches Vorgehen findet beispielsweise beim Testen von Servern oder zum Betreiben von Spiele-Servern häufige Anwendung. Zudem kann durch das Erreichen dieser Adresse geprüft werden, ob das TCP/IP Protokoll richtig implementiert ist.
Um die Erreichbarkeit des eigenen Rechners über IP zu ermöglichen, wird eine Schnittstelle, ein sogenanntes Loopback-Device eingesetzt. Dieses verhält sich wie eine virtuelle Netzwerkkarte, die alle ausgehenden Datenpakete an ihren eigenen Eingang weiterleitet. Diese virtuelle Netzwerkkarte hat jedoch keinerlei Verbindung zu eventuell vorhandenen Netzwerkschnittstellen; an ::1 geschickte Pakete können daher im Normalfall nicht auf einem physisch vorhandenen Link zu einem anderen System erscheinen.
Anstatt ::1 wird bei IPv4 das Subnetz 127.0.0.1/8 verwendet. Bei Verwendung des IPv4 ist in der Regel jede der Adressen von 127.0.0.1 bis 127.255.255.254 (127.0.0.0/8 Subnetz) als Loopback-Device verwendbar.
RFC 2606 und RFC 6761 reservieren localhost als Top-Level-Domain für das Domain Name System (DNS). Sie soll einen statischen AAAA Resource Record bzw. A Resource Recordauf die IP-Adresse des Loopback-Interface enthalten. In der lokalen hosts-Datei wird üblicherweise auch der Hostname localhost definiert, damit die Namensauflösung von localhost auch ohne erreichbaren DNS-Server geschehen kann.
Simulierter Webserver
Auf dem lokalen Rechner kann ein Webserver simuliert werden, er wird dann oft als localhost bezeichnet. Wenn lokal ein localhost eingerichtet ist, kann mit ihn mittels des Browsers gearbeitet werden, als ob er ein irgendwo entfernt im Internet stehender Server ist. Sinn dessen ist es, dass auf dem eigenen Rechner ohne tatsächlichen Internetzugang eine Website oder Serveranwendung laufen kann, entweder um sie zu entwickeln und zu testen oder um sie tatsächlich zu nützen. Dies wird mit der einrichtung eines localhost möglich, da die benötigten Komponenten – "realer" Browser und "simulierter" Webserver – alle lokal vorhanden sind und sich verhalten, als ob sie über eine reale Internetverbindung kommunizieren.
Der Localhost verhält sich in sehr vielen Aspekten wie ein echter webserver, indem er z. B.
- HTML- Code (ggf. incl. Skripte, CSS, eingebundene Dateien, ...) an den anfragenden Browser abgibt, so dass dieser das anzeigen kann,
- Datenbanken halten und php- und sql-Skripte verarbeiten kann,
- auch die Installation eines Content-Management-Systems wie Typo3 oder MODX erlaubt, das dann verwendet werden kann,
- nichts anzeigt, wenn nichts Anzeigbares hinterlegt ist.
Der lokal simulierte Server ist über den ebenfalls lokal installierten Browser mittels der Adresse "localhost" in der Adressleiste des Browsers erreichbar. Das Root-Verzeichnis des localhost ist wegen der lokalen Installation auch ein Verzeichnis im Dateisystem des lokalen Rechners.
Verwirklichung
Der lokale Server wird durch lokal installierte Software simuliert. Die Simulation muss die typischen Serverfunktionien bereitstellen, also insbesondere das Serverbetriebssystem (oft Apache) simulieren und Funktionalitäten wie PHP und SQL bereitstellen.
Es gibt verschiedene Softwarepakete, mit denen ein localhost eingerichtet werden kann. Eines dieser Pakete ist das frei erhältliche XAMPP, das schnell und einfach installiert werden kann und für Windows, Apple und Linux geeignet ist. Nach Installation z. B. auf c:/.../xampp liegt das Root-Verzeichnis des mit XAMPP gebildeten localhost lokal auf c:/.../xampp/htdocs/, auf das der Browser zugreift, wenn ihm localhost als Adresse angegeben wird.