Точный анализ URI невозможен? - PullRequest
0 голосов
/ 23 июня 2019

Давайте просто посмотрим на часть host , так как поддомен может иметь неограниченные уровни и может быть другой уровень доменов, например:

foo.foo2.host.bar.bar2

Это полностью допустимый хост, но в то же время действительны следующие:

foo.foo2.foo3.host.bar.bar2
foo.foo2.host.bar.bar2.bar3

В принципе, мы не можем использовать «точку», чтобы определить разницу между поддоменами и доменами

То есть без сети, которая фактически ищет информацию о домене в Интернете, невозможно правильно проанализировать URI?

Как веб-браузер справляется с этой ситуацией?

1 Ответ

0 голосов
/ 25 июня 2019

Терминология:

  • В HTTPS URI https://m.example.com/foo компонент host имеет значение m.example.com (что является "зарегистрированным именем").
  • В зарегистрированном имени m.example.com, com - это домен верхнего уровня, example - это домен второго уровня, а m - это домен третьего уровня. В DNS каждый из этих уровней называется label .
  • Домен третьего уровня (и четвертый уровень и т. Д.) Обычно называют поддоменом .
  • Термин домен может относиться к разным вещам:

    • все это (m.example.com)
    • комбинация верхнего уровня и второго уровня (example.com), возможно, включая дополнительные уровни (в случае, если это открытый суффикс , например, co.uk)

Если вы хотите проанализировать зарегистрированное имя m.example.com (или как полное доменное имя: m.example.com.), вы идете справа налево ; каждая метка отделяется .:

  1. Первая метка - это домен верхнего уровня (com)
  2. Вторая метка - это домен второго уровня (example)
  3. Третья метка - домен третьего уровня (m)
...