If-Koubou

W jaki sposób serwery internetowe wiedzą, czy korzystasz z bezpośredniego dostępu do adresu IP, czy nie?

W jaki sposób serwery internetowe wiedzą, czy korzystasz z bezpośredniego dostępu do adresu IP, czy nie? (Jak)

Zwykle wpisujemy adres strony internetowej, którą chcemy wyświetlić, ale czy serwer internetowy rzeczywiście "wie", gdybyśmy zamiast tego używali bezpośredniego adresu IP? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na pytanie zagubionego czytelnika.

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, społecznościowego forum 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 WWW, do których uzyskuje się dostęp za pomocą 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 po prostu pomija DNS, prawda? W jaki sposób zdalny serwer wie nawet, że pominięto DNS?

W jaki sposób serwery internetowe wiedzą, czy korzystasz z bezpośredniego dostępu do adresu IP, czy nie?

Odpowiedź

SuperUser contributor iAdjunct ma dla nas odpowiedź:

Aby odpowiedzieć na twoje pytanie, jak to wie, ma to związek z tym, co przeglądarka wysyła do serwera. Masz rację, że system zawsze rozpoznaje adres IP, ale przeglądarka wysyła adres URL, do którego próbujesz uzyskać dostęp w nagłówku HTTP.

Oto przykładowy nagłówek znaleziony online, zmodyfikowany tak, aby wyglądał, jakbyś używał przeglądarki Firefox w systemie Windows i wpisał apple.com na pasku adresu:

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

Oba te elementy zostaną wysłane na ten sam adres IP przez gniazdo, ale przeglądarka poinformuje serwer internetowy o tym, do czego uzyskał dostęp. Czemu? Ponieważ serwery WWW o tym samym adresie IP mogą hostować wiele stron internetowych i udostępniać różne strony dla każdego z nich. Nie potrafi rozróżnić, kto chce, która strona po adresie IP, ponieważ wszystkie mają tę samą, ale może je odróżnić przez nagłówek HTTP.

Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.