«Проблема», которую вы пытаетесь решить, даже не четко определена.
Нет способа получить эту информацию от самого DNS. DNS не делает различий между тем, что вы называете поддоменом, доменом и TLD.
Производители браузеров и другие заинтересованные стороны, по-видимому, не нашли никакого решения для этого короткого создания и ведения списка вручную . И даже это неполное решение. Например, я знаю, что в Канаде вы можете зарегистрировать домен как <your-label>.ca
, <your-label>.<province>.ca
или <your-label>.<municipality>.<province>.ca
, но текущая версия списка в Mozilla учитывает только первые две возможности. (В любом случае перечисление всех муниципалитетов будет слишком обременительным).
Что еще более важно, граница между тем, что является «публичным» доменом и «частным» доменом, не является технической. Вы не должны иметь возможность зарегистрировать домен под ac.jp
, если вы не являетесь университетом (или подобным) в Японии. Вы не должны иметь возможность зарегистрировать домен под u-tokyo.ac.jp
, если вы не являетесь отделом внутри 東 大 (или аналогичным). Эти два ограничения принципиально не отличаются друг от друга на техническом уровне, однако один из этих доменов считается «общедоступным», а другой - нет. Это разница политики / права.
Кроме того, если различие между публичным и частным доменом используется в целях безопасности (как оно используется, например, в веб-браузерах для запрета супер-куки), который говорит, что разные кафедры в одном университете не так сильно не доверяют друг другу как разные университеты делают? Существует хорошо известный совет: вам не следует пытаться решить политическую проблему с помощью технического решения.