1. ホーム
  2. url

[解決済み] URLからサブドメインを取得する

2022-10-27 08:14:14

質問

URLからサブドメインを取得するのは、一見簡単そうに見えますが、実際はどうなのでしょうか?

http://www.domain.example

最初のピリオドをスキャンして、"http://" の後に来たものを返します ...

それから、あなたは

http://super.duper.domain.example

ああ。そうすると、よし、最後のピリオドを見つけて、1語戻って、前のすべてを手に入れよう! と思うわけです。

そして、思い出すのです。

http://super.duper.domain.co.uk

と、振り出しに戻ることになります。すべての TLD のリストを保存する以外に、どなたか素晴らしいアイデアをお持ちではないでしょうか?

どのように解決するのですか?

すべての TLD のリストを保存する以外に、どなたか素晴らしいアイデアをお持ちですか? すべてのTLDのリストを保存する以外に何か良いアイデアはありませんか?

いいえ。各TLDは、サブドメイン、セカンドレベルドメインなどとしてカウントするものが異なるからです。

トップレベルドメイン、セカンドレベルドメイン、サブドメインがあることに留意してください。 技術的に言えば、TLDを除くすべてがサブドメインです。

domain.com.uk の例では、"domain" がサブドメイン、"com" がセカンドレベルドメイン、"uk" が TLD です。

この問題は、一見したところより複雑で、それぞれの TLD がどのように管理されているかに依存します。 特定のパーティショニングを含むすべての TLD のデータベースと、セカンド レベル ドメインおよびサブドメインとしてカウントされるものが必要です。 TLDの数はそれほど多くないので、リストはそれなりに管理可能ですが、すべての情報を収集することは容易ではありません。 すでにそのようなリストがあるのかもしれません。

見た目は http://publicsuffix.org/ はそのようなリストのひとつです。一般的な接尾辞 (.com, .co.uk, など) をすべて、検索に適したリストにしています。 これを解析するのはまだ簡単ではありませんが、少なくともリストを維持する必要はないでしょう。

パブリック サフィックスとは インターネット ユーザーが直接登録できる のことです。公開接尾辞の例としては 例えば、".com", ".co.uk" といったサフィックスがあります。 pvt.k12.wy.us"などがあります。パブリックサフィックス リストは、すべての既知の公開接尾辞のリストです。 サフィックスリストは、既知のすべてのパブリックサフィックスのリストです。

パブリックサフィックスリストは Mozilla Foundation のイニシアティブです。 あらゆるソフトウェアで使用することができます。 どのようなソフトウェアにも使用できますが、もともとは ブラウザメーカーのニーズを満たすために 製造者のニーズを満たすために作成されました。これによって、ブラウザは 例えば

  • プライバシーを侵害する "supercookies" が次のように設定されないようにします。 が設定されないようにします。
  • ユーザー インターフェイスでドメイン名の最も重要な部分を強調表示する インターフェイスに表示します。
  • サイトごとに履歴エントリを正確にソート

リストに目を通す を見れば、それが些細な問題でないことがわかるでしょう。 これを実現するには、リストが唯一の正しい方法だと思うのですが...。