Reverse domain name notation における eTLD の順序
アプリケーションの Bundle ID や java の package 名などで使われる com.example.some.app
のような表記を Reverse domain name notation (reverse-DNS) というらしい。
タイトルにある "eTLD の順序" というのは、 example.co.jp
という suffix 付きドメインを持つ組織の app
というリソースがあるとして、それを特定する Reverse domain name notation は jp.co.example.app
なのか co.jp.example.app
なのかという話。
結論から書くと、単純に全てを逆順にするのが正しいと思われる。
個人的に eTLD は崩さずに並べてもいいんじゃないかと勝手に思っていたけど、細かいルールが言語化されているものは見当たらなかった。 冷静に考えれば以下のような理由から、先の結論になることは自明っぽいので、わざわざ何かに書き起こす必要がなかったのかもしれない。
- DNS そのものは階層的な構造を持つのだから、逆に並べる時も広い方から順番に狭まっていく方が自然
- Public Suffix の目的は、ブラウザに適切なスコープで cookie を持たせるためにあるので単に記法とは無関係
以下は見てみたもののメモ
ドキュメント類
CFBundleIdentifier
に関するもの
The bundle ID string must contain only alphanumeric characters (A-Z, a-z, and 0-9),hyphens (-), and periods (.). The string should be in reverse-DNS format. Bundle IDs are case sensitive.
- Android の アプリケーションID に関するもの
アプリケーション ID は従来の Java パッケージ名に似ていますが、アプリケーション ID の命名規則はもう少し厳密になっています。
- 2つ以上のセグメント(1つ以上のドット)が必要
- 各セグメントは文字で始まる必要がある
- 使用できる文字は英数字とアンダースコアのみ(a~z、A~Z、0~9、_)
- Java の Package の命名に関するもの
Companies use their reversed Internet domain name to begin their package names—for example, com.example.mypackage for a package named mypackage created by a programmer at example.com.
https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html
Bundle ID の例
co.jp site:play.google.com
とかでググってみてもヒットせず、どれも jp
始まりだった。
- COCOA - COVID-19 Contact App
jp.go.mhlw.covid19radar
- 東京都防災アプリ
jp.tokyo.metro.tokyotobousaiapp
- みずほ銀行 J-Coin Pay
jp.co.bluelab.jcoin.user