JPドメインのフォーマット

JPドメインのフォーマットはもう少し厳格に定義して欲しい。 ・漢字のUnicode範囲が定義されていない ・全角記号のUnicode範囲が定義されていない (「...など」と説明されており、全てを列挙していない節がある) 続きを読む
1
Jhon Smith @push_back

http://twitter.com/push_back/statuses/27913194814 Web上だとリンクがおかしい。中途半端に日本語ドメインなんて対応しなくていいのに。

2010-10-20 17:58:03
think49 @think49

日本語ドメインってSyntaxは定義されているのかな…。

2010-10-20 18:01:41
think49 @think49

@think49 JPドメイン名の種類 > 使用できる文字 ( http://goo.gl/CkCa ), JPドメイン名の形式例 ( http://goo.gl/CkCa )

2010-10-20 18:07:16
think49 @think49

@think49 "全角ひらがな・カタカナ・漢字・半角英数字(A~Z、0~9)・半角のハイフン「-」 上記以外に「・」「ヽ」「ヾ」「ゝ」「ゞ」「々」「ー」なども使用可能" / もっと厳格に定義して欲しいなあ。ドメインはURIの要なんだから RFC 3986 並みに定義して欲しい。

2010-10-20 18:10:32
Jhon Smith @push_back

Wikipediaの日本語ドメイン名(http://bit.ly/cVdLNk)からたどっていった情報によれば、2バイト文字URLは最終的にはASCII文字列への変換(Punycode、RFC 3492)を行うと普通にDNSへ問い合わせ出来るということらしい。

2010-10-20 18:11:41
Jhon Smith @push_back

日本語ドメインはIE6では標準非対応らしいし、そもそも普及してないのでなかった事にしたい。

2010-10-20 18:14:55
Jhon Smith @push_back

こんなセキュリティで大丈夫か?

2010-10-20 18:18:44
think49 @think49

RFC 3492 ( http://goo.gl/vBED ) をざっと読んでみたけど、入力文字種に関する制限は特になさそうな感じ。

2010-10-20 18:22:30
think49 @think49

とりあえず、http://jprs.jp の資料を基にJPドメインをパースするJavaScriptを書いてみる。

2010-10-20 18:31:49
think49 @think49

仕様を確認するなら、「国際化ドメイン名 (IDN : http://goo.gl/Cgm2 )」として見るべきだったかもしれない。

2010-10-20 18:41:31
think49 @think49

@think49 国際化ドメインの中で日本語を表す場合は「日本語ドメイン」と表すらしい。

2010-10-20 18:42:09
think49 @think49

@think49 IDN は RFC3490, RFC3491, RFC3492, RFC3454 で定義される。 翻訳版は JDNA にある模様。( http://goo.gl/wjLc )

2010-10-20 18:51:32
think49 @think49

@think49 RFC3490 ( http://goo.gl/J8K5 ) によると、IDN は非ASCII文字をドメイン名で扱えるようにするために標準化された仕組みらしい。 IDN は一部の禁止文字を除いて非ASCII文字をUnicodeの範囲にまで拡張する。

2010-10-20 18:56:30
think49 @think49

@think49 RFC3454 ( http://goo.gl/c683 ) では IDN の文字列解析処理について解説されている。 IDNにおいてドメイン名に「5. 出力における禁止処理」において定義される禁止文字を含めてはならない。

2010-10-20 19:06:13
think49 @think49

@think49 禁止文字は「C. 禁止文字の表」で定義されており、セクション5と差異がある場合は付録Cのリストが優先される。

2010-10-20 19:10:42
think49 @think49

@think49 "本仕様の実装は、付録Cに含まれるリストを使用しなければならない(MUST)。" / つまり、実装する場合は「付録Cだけ読んでください」ってことです。

2010-10-20 19:11:56
think49 @think49

@think49 JPドメイン文字列をパースするJavaScriptを書いてみた。 http://gist.github.com/636292 #JavaScript

2010-10-20 22:27:35
think49 @think49

@think49 JPドメインはIDN (国際化ドメイン) に則った仕様だけど、文字の規定がちゃんと仕様書になっていないので困った。 文字で説明されていて、よくある ABNF で規定されていない。

2010-10-20 22:33:09
think49 @think49

@think49 解読に疲れてしまったので、今回は RFC を読むのを諦めた。本来は RFC 3454 規定の禁止文字に則った方が良さそうなので、折を見て確認してみる事にする。

2010-10-20 22:34:59
think49 @think49

@think49 使用できる文字。( http://goo.gl/CkCa ) / 漢字のUnicode範囲が定義されていないので適当に定義した。 記号は曖昧だけど「…など」に準拠。全て列挙してくれれば…。

2010-10-20 22:42:26
Masanori Kusunoki / 楠 正憲 @masanork

Unicodeに絵文字が入ったが、いずれIDNで顔文字ドメインって取れるのかな。環境が対応してないし入力が面倒そうで使い勝手が悪いが / Togetter - 「JPドメインのフォーマット」 http://htn.to/dFmJmV

2010-10-21 11:16:15
Yoshiki Ishida/石田慶樹 @yoshiki_ishida

ここにあるんですけどね。http://jprs.jp/doc/rule/saisoku-1-wideusejp.html RT @masanork Unicodeに絵文字が入ったが、いずれIDNで顔文字ドメインって取れるのかな。環境が対応してないし入力が面倒そうで使い勝手が悪いが

2010-10-21 11:27:34
Yoshiki Ishida/石田慶樹 @yoshiki_ishida

ああ、Webが分かりにくいなあ。>JPドメイン名の規則類。

2010-10-21 11:41:47
think49 @think49

JP 汎用 JP ドメイン名登録等に関する技術細則 ( http://goo.gl/r3FI ) / ラベルの区切り文字に "." だけでなく、"。" も使用できるらしい。

2010-10-21 18:44:39