Как субдомен передается веб-серверу?

Я знаю, что DNS разрешает адрес как example.com к IP-адресу как 11.22.33.44, но я немного смущен тем, как субдомены разрешены, так, чтобы при вводе http://subdomain.example.com что на самом деле передается серверу в 11.22.33.44? Другими словами, example.com = 11.22.33.44, но subdomain.example.com/path =???

"Субдомен" и "путь" передаются как http заголовки или отображаются в URL в некотором роде, или что?

Заранее спасибо.

Править: Если я понимаю правильно, BloodPhilia заявляет, что subdomain.example.com на самом деле является другим доменом, который в принципе мог решить к полностью другому IP. Но если это так, затем что относительно хостов, которые имеют огромные числа (что похоже), субдомены, но которые на самом деле отображаются на некоторый путь на сайте. Например, blogspot размещает миллионы блогов, и они все похожи на это:

aaa.blogspot.com
bbb.blogspot.com
...millions more...
yyy.blogspot.com
zzz.blogspot.com

Это - ясно не субдомены с их собственным IP, а скорее некоторое отображение как aaa.blogspot.com-> www.blogspot.com/aaa, но как это выполняется? Что на самом деле передается веб-серверу по blogspot.com?

12
задан 17.01.2011, 17:33

4 ответа

Домены, Субдомены, домены Sub-Sub и Sub(x) - подсубдомены (составил последние два!), рассматриваются точно таким же образом DNS к конечному пользователю и веб-серверу.

Например, сервер DNS может возвратить различные результаты для domain.com, www.domain.com или mysite.domain.com.

Теперь, когда Вы, вероятно, знаете, существует намного больше доменов, чем дюйм/с в мире.

Из-за этого серверы используют что-то известное как "Заголовки Хоста" для обслуживания корректного содержания.

Не имеет значения, что Вы на самом деле запрашиваете, Ваша машина рассматривает все то же - это будет искать на DNS, какой IP это должно подключить с, и когда-то соединенный, это отправит заголовок хоста как часть запроса. Веб-сервер затем передает обратно содержание, которое он был настроен для передачи обратно.

Хорошим инструментом для тестирования/изучения/диагноза является Wfetch, это может быть загружено здесь.

Вот пример заголовков, отправленных при доступе к superuser.com

alt text

Вот конфигурация для заголовков хоста в IIS (веб-сервер):

alt text

(Отобразите отсюда),

Если Вам было интересно, Serverfault.com и Superuser.com находятся на том же IP, и это - техника, которая используется, чтобы разделить сайты и служить другому содержанию.

Для большего количества чтения на предмете можно хотеть прочитать статью Wikipedia о Виртуальном Хостинге.

(Я знаю, что Вы понимаете основы, но я думал, что будет хорошо сказать немного больше так, чтобы любой луг Google, это может изучить немного, если они хотят!)

Править

Так, Согласно Вашему примеру, я предположил бы, что кто-то, целый blogspot, скорее всего, имеет подстановочный знак запись DNS (Подстановочная запись возвращает тот же результат для любого запроса), который указывает на подсистему балансировки нагрузки, подсистема балансировки нагрузки затем, отошлет ее во многие различные веб-серверы, у кого, вероятно, нет отдельного сайта на заголовок хоста, но вместо этого единственного сайта/сценария, что введенный адрес (заголовки хоста или не) анализируется на, и вытягивает корректное содержание от их CDN тут же.

Хотя, это также было бы возможно (но вряд ли), что у них просто есть несколько тысяч записей на IP, IP приводит к нескольким серверам, и у них просто есть запись для каждого сайта, который имеет заголовок хоста соответствия.

18
ответ дан 07.12.2019, 11:48

Действительно, если два домена имеют тот же IP-адрес, сервер полагается на браузер для определения требуемого домена. Как:

GET / HTTP/1.1
Host: data.stackexchange.com
6
ответ дан 07.12.2019, 11:48

Субдомены не являются правильным словом. Обычно субдомен является доменом самостоятельно, таким образом, sub.example.com передается DNS сначала, если никакая определенная запись не найдена для этого субдомена, запрос передается IP главного домена. (example.com) На том сервере, запрос выполнен снова и сервер, будет действовать соответственно.

Другими словами, запрос на example.com действительно не отличается от запроса до sub.example.com.

3
ответ дан 07.12.2019, 11:48

Subdomain.example.com не решает к 11.22.33.44 - в целях Вашего вопроса, он обычно имеет свой собственный DNS запись и твердость к другому адресу.

Возможно позволить твердость субдомена тому же адресу как родительский домен и все еще сервер выше на различные страницы, но если Вы делаете это, необходимо разместить оба сайта на том же веб-сервере и должными быть составлять его на конфигурации сервера. Путем Вы объясняете, это зависит от того, какой веб-сервер Вы выполняете.

1
ответ дан 07.12.2019, 11:48

Теги

Похожие вопросы