If-Koubou

Как уеб сървърите знаят дали използвате директен достъп до IP адреси или не?

Как уеб сървърите знаят дали използвате директен достъп до IP адреси или не? (Как да)

Обикновено просто въвеждаме адреса на уебсайт, който искаме да видим, но всъщност уеб сървърът ще "знае", ако използваме директния IP адрес вместо това? Днешната публикация "Суперусър" "Q & A" има отговора на объркания въпрос на читателя.

Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.

Снимката е предоставена от Cory M. Grenier (Flickr).

Въпроса

Дисплеят на SuperUser Joseph A. иска да разбере как уеб сървърите могат да разберат дали използвате директен IP адрес или не:

Някои уеб сървъри, когато имат достъп чрез своя IP адрес, връщат грешка, че достъпът до директен IP адрес не е разрешен. Чудех се известно време как работи това.

Дали браузърът винаги решава IP адреса и се свързва с него? Директният достъп до IP адрес просто прескача DNS напълно, нали? Как отдалечен сървър дори знае, че сте пропуснали DNS?

Как уеб сървърите знаят дали използвате директен достъп до IP адрес или не?

Отговорът

Contributor на SuperUser iAdjunct има отговорът за нас:

За да отговорите на въпроса си как тя знае, това е свързано с това, което браузърът ви изпраща на уеб сървъра. Прав сте, че системата винаги го отвежда до IP адрес, но браузърът изпраща URL адреса, който сте опитвали да осъществите достъп в HTTP заглавката.

Ето примерна заглавка, която намерих онлайн, модифицирана, за да изглежда така, сякаш сте използвали Firefox на Windows и сте въвели apple.com в адресната лента:

Ето как изглежда хедърът, ако сте използвали неговия IP адрес:

И двата ще бъдат изпратени на един и същ IP адрес през гнездо, но браузърът съобщава на уеб сървъра какво е получил. Защо? Тъй като уеб сървърите със същия IP адрес могат да хостват на няколко уебсайта и да дават различни страници за всеки от тях. Не може да се разграничи кой иска коя страница да е от IP адреса, защото всички те имат една и съща, но може да ги различи от HTTP заглавката.

Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.