Um Ihre Frage zu beantworten, wie es weiß , hat es damit zu tun, was Ihr Browser an den Server sendet.
Sie haben Recht, dass das System es immer in eine IP-Adresse auflöst, aber der Browser sendet die URL, auf die Sie zugreifen wollten, im HTTP-Header.
Hier ist ein Beispiel-Header, den ich online gefunden habe und der so geändert wurde, dass er aussieht, als hätten Sie Firefox unter Windows verwendet und apple.com
in die Adressleiste eingegeben :
GET / HTTP/1.1
Host: apple.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
So würde der Header aussehen, wenn Sie seine IP-Adresse verwenden:
GET / HTTP/1.1
Host: 17.142.160.59
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Beide werden über einen Socket an dieselbe IP-Adresse gesendet, aber der Browser teilt dem Server mit, auf was zugegriffen wurde.
Warum? Da Webserver mit derselben IP-Adresse möglicherweise mehrere Sites hosten und für jede unterschiedliche Seiten bereitstellen. Es kann nicht unterscheiden, wer welche Seite anhand der IP-Adresse haben möchte, da alle dieselbe Seite haben - es kann sie jedoch anhand des HTTP-Headers unterscheiden.