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

Съдържание:

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

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

Видео: Как уеб сървърите знаят дали използвате директен достъп до IP адреси или не?
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! - YouTube 2024, Може
Anonim
Обикновено просто въвеждаме адреса на уебсайт, който искаме да видим, но всъщност уеб сървърът ще "знае", ако използваме директния IP адрес вместо това? Днешната публикация "Суперусър" "Q &A" има отговора на объркания въпрос на читателя.
Обикновено просто въвеждаме адреса на уебсайт, който искаме да видим, но всъщност уеб сървърът ще "знае", ако използваме директния IP адрес вместо това? Днешната публикация "Суперусър" "Q &A" има отговора на объркания въпрос на читателя.

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

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

Въпроса

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

Some web servers, when accessed using their IP address, return an error that direct IP address access is not allowed. I have been wondering for some time how this works.

Does a browser always resolve the IP address and connect to it? Direct IP address access is just skipping DNS altogether, right? How does a remote server even know that you skipped DNS?

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

Отговорът

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

To answer your question of how it knows, it has to do with what your browser sends the web server. You are right that the system always resolves it to an IP address, but the browser sends the URL you attempted to access in the HTTP header.

Here is a sample header that I found online, modified to look as though you used Firefox on Windows and typed apple.com into the address bar:

Here is what the header would look like if you used its IP address:
Here is what the header would look like if you used its IP address:
Both of these would be sent to the same IP address over a socket, but the browser tells the web server what it accessed. Why? Because web servers with the same IP address may host multiple websites and give different pages for each. It cannot distinguish who wants which page by IP address because they all have the same one, but it can distinguish them by the HTTP header.
Both of these would be sent to the same IP address over a socket, but the browser tells the web server what it accessed. Why? Because web servers with the same IP address may host multiple websites and give different pages for each. It cannot distinguish who wants which page by IP address because they all have the same one, but it can distinguish them by the HTTP header.

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

Препоръчано: