Woher wissen Webserver, ob Sie direkten IP-Adresszugriff verwenden oder nicht?
Normalerweise geben wir einfach die Adresse einer Website ein, die wir anzeigen möchten, aber würde ein Webserver tatsächlich "wissen", wenn wir stattdessen die direkte IP-Adresse verwenden? Der heutige Q & A-Beitrag von SuperUser hat die Antwort auf die Frage eines verwirrten Lesers.
Die heutige Question & Answer-Sitzung wird dank SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-basierten Gruppierung von Q & A-Websites.
Foto mit freundlicher Genehmigung von Cory M. Grenier (Flickr).
Die Frage
SuperUser-Leser Joseph A. möchte wissen, wie Webserver erkennen können, ob Sie direkten IP-Adresszugriff verwenden oder nicht:
Bei einigen Webservern wird beim Zugriff über ihre IP-Adresse der Fehler zurückgegeben, dass der direkte Zugriff auf die IP-Adresse nicht zulässig ist. Ich habe mich schon länger gefragt, wie das funktioniert.
Löst ein Browser immer die IP-Adresse auf und stellt eine Verbindung dazu her? Beim direkten Zugriff auf die IP-Adresse wird nur DNS übersprungen, oder? Woher weiß ein Remote-Server sogar, dass Sie DNS übersprungen haben?
Woher wissen Webserver, ob Sie direkten IP-Adresszugriff verwenden oder nicht?
Die Antwort
SuperUser-Mitwirkender iAdjunct hat die Antwort für uns:
Um Ihre Frage zu beantworten, wie es weiß, hat es damit zu tun, was Ihr Browser an den Webserver sendet. Sie haben Recht, dass das System es immer in eine IP-Adresse auflöst, aber der Browser sendet die URL, auf die Sie versucht haben, im HTTP-Header zuzugreifen.
Hier ist ein Beispielheader, den ich online gefunden habe. Er wurde so modifiziert, dass er so aussieht, als ob Sie Firefox unter Windows verwendet und apple.com in die Adressleiste eingegeben haben:
So würde der Header aussehen, wenn Sie seine IP-Adresse verwenden würden:
Beide würden über einen Socket an dieselbe IP-Adresse gesendet, der Browser teilt dem Webserver jedoch mit, worauf er zugegriffen hat. Warum? Weil Webserver mit derselben IP-Adresse möglicherweise mehrere Websites hosten und für jede unterschiedliche Seiten angeben. Es kann nicht unterschieden werden, wer welche Seite nach IP-Adresse haben möchte, da sie alle dieselbe Adresse haben, sie kann sie jedoch durch den HTTP-Header unterscheiden.
Haben Sie der Erklärung etwas hinzuzufügen? Sound off in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Hier geht es zum vollständigen Diskussionsthread.