Lokalhost
Die kürzeste Erklärung für den Begriff localhost lautet, dass es sich dabei um den eigenen Rechner handelt. Hintergrund ist die Tatsache, dass Anwendungsprogramme, die netzwerkfähig sind, zunächst getestet werden müssen bzw. sollten. Dabei Teile der Programme auf einen fremden Rechner zu übertragen, wäre sehr aufwändig. Aus diesem Grund finden derlei Tests auf dem eigenen Computer statt. localhost kommt oft zum Tragen, wenn es um Spiele- oder Webserver geht.
Allgemeine Informationen zum Thema
Bei einem oben beschriebenen Test stellt der eigene Computer quasi eine Netzwerkkarte bereit. Diese hat die Aufgabe, alle ausgehenden Daten an den eigenen Computer zurückzusenden. Man nennt dieses Verfahren auch „Loopback“ bzw. „Lokaler Loopback“, was synonym für localhost verwendet werden kann.
Wurde auf dem eigenen System ein Webserver installiert, kann dieser über die Adresse 127.0.0.1 erreicht werden. Alternativ kann in das Eingabefeld auch die Adresse „http://localhost“ eingegeben werden[1].
Weiterführende Informationen zu localhost
Die allgemein formulierte Annahme, dass bei localhost der eigene Computer mit sich selbst kommuniziert, ist zwar nicht falsch, greift bei genauerer Betrachtung aber zu kurz, da es beim localhost nicht nur um den eigenen Computer geht. Normalerweise hat der eigene Computer im persönlichen Netzwerk eine IP-Adresse. Eine andere IP-Adresse erhält man in aller Regel vom Internetanbieter, mit der man im Internet surfen kann. Diese ist meistens dynamisch. Vom localhost spricht man dagegen, wenn ein Server auf dem eigenen Computer genutzt wird. Localhost steht also nicht nur für den virtuellen Server, sondern darüber hinaus auch für dessen Domain-Name. Vergleichbar mit .test oder auch .example ist localhost eine Top-Level-Domain, die für Test- und Dokumentationszwecke vorgesehen ist. Gibt man also im Browser die Adresse „http://localhost“ ein, kommt es zum oben genannten Loopback, die Anfrage wird also nicht über den Router ins Netz weitergeleitet, vielmehr bleibt sie mit der IP-Adresse 127.0.0.1 im eigenen System verbunden[2].
Zusammenhang von Hosts und localhost
Wie oben erwähnt, muss bei der Eingabe einer URL in den Browser die IP-Adresse ermittelt werden. So „versteht“ beispielsweise kein Computer die Eingabe „www.google.de“, sie muss also umgewandelt werden in die IP-Adresse, die im Falle von Google 216.239.59.104 lautet. Diese Umwandlung wird durch ein System namens „Domain Name Service (DNS)“ durchgeführt. Bevor das System von DNS eingeführt wurde, wurden die Adressen im Internet auf eine andere Art umgewandelt, nämlich mittels der Datei Hosts. „Host“ steht für „Gastgeber“, womit der Computer beschrieben wird, auf dem eine Information gefunden werden kann.
Trotz der Praxis durch DNS gibt es nach wie vor die Hosts-Datei, wenngleich sie heute kaum noch eine aktive Rolle spielt. Vor der Einführung von DNS war die Hosts-Datei dafür verantwortlich, die Namensauflösung durchzuführen, also etwa Google der entsprechenden IP-Adresse zuzuordnen. Dies war jedoch nicht ohne Risiko, weil Hosts-Dateien recht leicht zu manipulieren waren. So konnte etwa durch den localhost-Eintrag „127.0.0.1 symantec“ dafür gesorgt werden, dass die Aktualisierungen einer Antivirus-Software nicht mehr gelangen, sondern stattdessen alle Aufrufe von „symantec.com“ lediglich auf dem eigenen Rechner landeten[3].
Heute ist die Hosts-Datei nahezu komplett durch DNS abgelöst worden, lediglich für Arbeiten, die in eigenen, vom Internet unabhängigen Netzwerken durchgeführt werden, wird sie noch genutzt[4].
Beispiel für eine Testumgebung mit der Hosts-Datei unter Einbeziehung von localhost
Testumgebungen gehören beispielsweise für Shopware zu den wertvollen Instrumenten, um die Funktionalität vorab zu prüfen. Häufig sind dafür kostenpflichtige Plugins nötig. Über die Hosts kann auf diese Plugins verzichtet werden.
In der ersten Zeile der Testumgebung steht zu Beginn ein „#“, was darauf schließen lässt, dass es sich um einen Kommentar handelt. Die zweite Zeile setzt sich aus einer IP-Adresse und der URL für die Testseite zusammen. Dadurch wird die Adresse nicht im DNS nachgeschlagen, man kann die Hosts-Datei speichern und mit der Testumgebung arbeiten. Da die Live-Seite und die Testumgebung optisch identisch sind, sollte – zum Beispiel im Titel – klar ersichtlich sein, welche die Testseite ist. So wird verhindert, dass man versehentlich an der Live-Seite arbeitet, obwohl man sich in der Testumgebung wähnt.
Als Nachteil kann genannt werden, dass die Testumgebung eine eigene IP-Adresse benötigt oder auf dem localhost laufen muss. Das macht den Wechsel zwischen Liveumgebung und Testseite für Entwickler schwieriger. Zudem fehlt die Möglichkeit, die Hosts-Datei automatisch zu manipulieren und den Caches zu leeren. Außerdem kann man die Hosts-Datei auf Tablets oder Smartphones nicht immer ändern, ohne Root-Rechte zu berühren, was responsive-Tests erschwert[5].
Bedeutung für das Development
Häufig ist es nicht sinnvoll oder sogar gefährlich, mit einem Shop, einem Blog, einem Wiki oder Content Management System sofort live online zu gehen. In diesen Fällen ist die Verwendung einer Testumgebung ratsam bzw. unverzichtbar. Localhost ist nur eine von weiteren Möglichkeiten, eine Seite zunächst losgelöst von der Öffentlichkeit zu testen. Empfehlenswert sind solche „Baustellen“ jedoch grundsätzlich, um nicht öffentlich zu machen, was noch nicht ausgereift oder bis zum Ende durchdacht ist[6].
Einzelnachweise
- ↑ FST 01150 sides.de. Abgerufen am 14.06.2018
- ↑ Localhost sides.de. Abgerufen am 14.06.2018
- ↑ Hosts sides.de. Abgerufen am 14.06.2018
- ↑ Was ist eine Hosts Datei das steckt dahinter praxistipps.chip.de. Abgerufen am 14.06.2018
- ↑ Testumgebungen fur Shopware mit kostenpflichtigen Plugins einrichten steampixel.de. Abgerufen am 15.06.2018
- ↑ Von Hausmannskost zum Galadiner heise.de. Abgerufen am 15.06.2018