Skąd serwery internetowe wiedzą, czy korzystasz z bezpośredniego dostępu do adresu IP, czy nie?

jak-to-widziec-serwery-sieci-wiedz-jezeli-uzywasz-bezposredniego-do-adresu-ip-lub-nie-zdjecie 1

Zwykle po prostu wpisujemy adres strony internetowej, którą chcemy wyświetlić, ale czy serwer WWW rzeczywiście wiedziałby, czy zamiast tego użyliśmy bezpośredniego adresu IP? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na pytanie zdezorientowanego czytelnika.

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser — pododdziału Stack Exchange, społecznościowej grupy witryn internetowych z pytaniami i odpowiedziami.



Zdjęcie dzięki uprzejmości Cory M. Grenier (Flickr).

Pytanie

Czytnik SuperUser Joseph A. chce wiedzieć, w jaki sposób serwery internetowe mogą stwierdzić, czy korzystasz z bezpośredniego dostępu do adresu IP, czy nie:

Niektóre serwery internetowe, gdy uzyskują dostęp przy użyciu ich adresu IP, zwracają błąd, że bezpośredni dostęp do adresu IP jest niedozwolony. Od jakiegoś czasu zastanawiam się, jak to działa.

Czy przeglądarka zawsze rozpoznaje adres IP i łączy się z nim? Bezpośredni dostęp do adresu IP to po prostu całkowite pominięcie DNS, prawda? Skąd zdalny serwer w ogóle wie, że pominąłeś DNS?

Skąd serwery internetowe wiedzą, czy korzystasz z bezpośredniego dostępu do adresu IP, czy nie?

Odpowiedź

Współtwórca SuperUser iAdjunct ma dla nas odpowiedź:

Aby odpowiedzieć na Twoje pytanie, skąd to wie, ma to związek z tym, co Twoja przeglądarka wysyła do serwera WWW. Masz rację, że system zawsze rozwiązuje to na adres IP, ale przeglądarka wysyła adres URL, do którego próbowałeś uzyskać dostęp w nagłówku HTTP.

Oto przykładowy nagłówek, który znalazłem w Internecie, zmodyfikowany tak, aby wyglądał tak, jakbyś używał Firefoksa w systemie Windows i wpisał apple.com w pasku adresu:

jak-to-widziec-serwery-sieci-wiedz-jezeli-uzywasz-bezposredniego-dostepu-adresu-ip-lub-nie zdjecie 2

Oto jak wyglądałby nagłówek, gdybyś użył jego adresu IP:

jak-to-widziec-serwery-w-wiedz-jezeli-uzywasz-bezposredniego-do-adresu-ip-lub-nie-zdjecie 3

Obydwa zostaną wysłane na ten sam adres IP przez gniazdo, ale przeglądarka informuje serwer WWW, do czego uzyskał dostęp. Czemu? Ponieważ serwery internetowe z tym samym adresem IP mogą obsługiwać wiele witryn i podawać różne strony dla każdej z nich. Nie może rozróżnić, kto chce której strony, według adresu IP, ponieważ wszyscy mają tę samą, ale może je odróżnić na podstawie nagłówka HTTP.