15Aug

Hoe weten webservers of u directe IP-adrestoegang gebruikt of niet?

Meestal typen we gewoon het adres in van een website die we willen bekijken, maar zou een webserver eigenlijk "weten" of we in plaats daarvan het directe IP-adres hebben gebruikt? De SuperUser Q & A-post van vandaag heeft het antwoord op de vraag van een verwarde lezer.

De vraag van vandaag &Antwoord sessie komt naar ons met dank aan SuperUser-een onderverdeling van Stack Exchange, een community-gestuurde groepering van Q & A-websites.

Foto met dank aan Cory M. Grenier( Flickr).

De vraag

SuperUser-lezer Joseph A. wil weten hoe webservers kunnen zien of u directe IP-adrestoegang gebruikt of niet:

Sommige webservers retourneren bij gebruik van hun IP-adres een fout die directe toegang tot IP-adressen niet betekenttoegestaan. Ik vraag me al een tijd af hoe dit werkt.

Lost een browser altijd het IP-adres op en maakt verbinding ermee? Directe IP-adrestoegang slaat gewoon helemaal DNS over, toch? Hoe weet een externe server dat je DNS hebt overgeslagen?

Hoe weten webservers of u directe IP-adrestoegang gebruikt of niet?

Het Antwoord

SuperUser-bijdrager iAdjunct heeft het antwoord voor ons:

Om uw vraag te beantwoorden over hoe het weet, heeft dit te maken met wat uw browser de webserver verzendt. Je hebt gelijk dat het systeem het altijd naar een IP-adres oplost, maar de browser stuurt de URL die je probeerde te openen in de HTTP-header.

Hier is een voorbeeldkop die ik online heb gevonden, aangepast om eruit te zien alsof je Firefox op Windows hebt gebruikt en apple.com hebt getypt in de adresbalk:

Hier is hoe de header eruit zou zien als je het IP-adres zou gebruiken:

Beidedeze zouden via een socket naar hetzelfde IP-adres worden verzonden, maar de browser vertelt de webserver waar deze toegang toe heeft. Waarom? Omdat webservers met hetzelfde IP-adres meerdere websites kunnen hosten en voor elk daarvan verschillende pagina's kunnen geven. Het kan niet onderscheiden wie welke pagina op IP-adres wil, omdat ze allemaal dezelfde hebben, maar het kan ze onderscheiden door de HTTP-header.

Heeft u iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk de volledige discussiethread hier.