AN HTTPD ゲストブック/コメント集(2002年9月25日11:02)


中田昭雄 nakata@st.rim.or.jp 2002/09/28 17:46

鷹の巣さん、
そうですね、辞書のデータ自体は同一というところが結構あるようです。
FQDNの定義よりも、どういう文脈で使われているか(「何の」FQDN表記なのか)に注目した方がいいのかもしれませんね。

もともとは、「サブドメイン」という誤解を招く表現は避けた方がいいでしょうというのが私の主旨ですが、それはわかっていただけていると思います。
鷹の巣さんのサイトの解説の変更は検討してもらえるようですから、その後で、また気になることがあれば話をしたいと思います。


鷹の巣 webmaster@sakaguch.com 2002/09/28 17:20

中田さん、いつもご指導ありがとうございます。

正確を期する為に、完全に限定されたドメイン名(FQDN:fully qualified domain name)についての追記です。
(FQDNは、完全ドメイン名(full domain name) や絶対ドメイン名(absolute domain name)とも言います。)

「EXAMPLE.miniDNS.net.」や「miniDNS.net.」や「net.」は、ドメインの木構造内のノード(分岐点)の位置を一意的に指定するFQDNです。
(ドメイン名の最後がURLでは、省略される「.(ドット)と(空のテキストラベル)」のルートドメイン(基点名)であれば、FQDNとなります。)

上記を実用的に書き直しますと、ドメイン名にトップレベルドメイン(第1レベルドメイン)[netの部分]が含まれていれば、FQDNとなります。
ディレクトリ(フォルダ)に例えますと、フォルダがドメイン、絶対パス(マイコンピュータ名\C:\WINNT\SYSTEM32)がFQDN、
相対パス(..\WINNT\SYSTEM32)は、FQDNではないということになります。


中田さんから、教えて頂いた、いくつかのオンライン辞書の内容を見た結果は、以下の通りでした。
○:説明が正しい。 ×:説明が間違っている。 △:説明になっていない。

日本語サイト
○ http://www.atmarkit.co.jp/aig/01xml/fqdn.html
× http://computers.yahoo.co.jp/dict/internet/domain/structure/458.html
○ http://www.atmarkit.co.jp/icd/root/82/5784582.html
× http://bit-drive.e-words.ne.jp/?w=FQDN
△ http://home.isle.ne.jp/support/idiom/f.html

英語サイト(FQDNで検索)
× http://www.computeruser.com/resources/dictionary/
× http://www.techdictionary.com/
○ http://www.webopedia.com/

# コンピュータ用語もやはりコピーが多いようです。
# どこが一次情報源かは、不明ですが、説明が間違っているサイトは、どこも似たような表現になっていました。
# 「EXAMPLE.miniDNS.net.」がFQDNで、「miniDNS.net.」は、FQDNではないというものです。
# 繰り返しますが、ドメイン名の最後がURLでは、省略される「.(ドット)と(空のテキストラベル)」のルートドメイン(基点名)であれば、
# FQDNとなります。(実用的には、ドメイン名にトップレベルドメインが含まれていれば、FQDNとなります。)


中田昭雄 nakata@st.rim.or.jp 2002/09/28 07:51

鷹の巣さん、
ノード名という言葉を使うよりも、ホスト、サブドメイン、ドメインの名前という意味で、それぞれをホスト名、サブドメイン名、ドメイン名と呼んでしまう方が一般的のように思います。

独自ドメインと言っても、グローバルIPアドレス1つの場合、サブドメインを設定することはまれだと思いますから、事情は同じではないかと思っています。

「http URL の正規表現」は、文法的な整合性ということであって、意味は入っていません。
今の場合 sakaguch.com 自体にはホスト名が含まれませんから、http:// の後はドメイン名を入れればよいと誤解され、www.sakaguch.com も(サブ)ドメイン名だと誤解する人がいるでしょうという話です。

メールサーバのホスト名は出さないようにするのが普通で、それはDNSのホストレコードの設定の話ではないはずです。

また、たとえば MicrosoftのWebサーバは www.microsoft.com で極めてわかりやすいと思います。
www.sakaguch.com にしてしまうと、smtp.sakaguch.com へのアクセスも許すことになってしまう、という意味でしょうか?


鷹の巣 webmaster@sakaguch.com 2002/09/28 00:32

中田さん、いつもご指導ありがとうございます。

完全ドメイン名(full domain name) =絶対ドメイン名(absolute domain name) =完全に限定されたドメイン名(FQDN:fully qualified domain name)で、
ここでは、以下FQDNとして、「.」(ドット)を全角で書くことにします。

> 「EXAMPLE.miniDNS.net」は FQDN ですが、FQDN自体 Domain Name ということですから全体を表現するときに「ドメイン名」というかどうかでちょっと混乱を招きやすいと思います。
確かに混乱を招きやすいですし、厳密に書くと難しくなりますし、ある程度は、乱暴な書き方をした方が解りやすい場合もあります。

> 個々の EXAMPLE はホスト名、miniDNS は(サブ)ドメイン名、net もドメイン名 で miniDNS.net もドメイン名、EXAMPLE.miniDNS.net もFQDNという意味でドメイン名ですね。
> FQDNはホスト名部分とドメイン名部分からなるホストの(完全な)ドメイン名という話だと思います。「名前」というときに「氏名」の「名」を指す場合と「氏名」を指す場合とがあるのと同じような話ですね。
「EXAMPLE」や「miniDNS」や「net」は、ノード名(分岐点名)で、ドメイン名を構成する63文字以内のラベルです。
「EXAMPLE.miniDNS.net.」や「miniDNS.net.」や「net.」は、ドメインの木構造内のノード(分岐点)の位置を一意的に指定するFQDNです。
(ドメイン名の最後がURLでは、省略される「.(ドット)と(空のテキストラベル)」のルートドメイン(基点名)であれば、FQDNとなります。)

> グローバルIPアドレスがひとつで、かつ動的に変わる場合(つまりダイナミックの場合)、サブドメインを登録することはほとんどないと思えます。
> 鷹の巣さんの説明の中では、「サブドメイン」と書いてあるところを全部「ホスト」と変えてしまってもいいのではないでしょうか。
> 実際、それぞれのダイナミックDNSの設定画面では、「ホスト名」とか「Hostname」と書いてあると思います。
厳密に書いて難しくしたくないですから、全部「ホスト」と変えることを検討致します。
ただ、独自ドメイン名で、運用している関係上、もう少し検討させて下さい。

> HTTP/1.1のRFC(RFC2616)では、HTTPのURLは、
> http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
> となっています。つまり、http:// のあとにくるのは "host" なので、HTTPサーバを作っている私としては、そこは ホストを特定できる名前であるという意識が強いのです。
混乱を招くの承知で敢えて書きますと「EXAMPLE」は、ホスト名で、「EXAMPLE.miniDNS.net.」もホスト名です。
「EXAMPLE」は、ホスト名(末端の計算機名)をノード名(分岐点名)で、呼んだものであり、
「EXAMPLE.miniDNS.net.」は、ホスト名(末端の計算機名)をFQDNで、呼んだものです。

> そういう意味では、インターネット上で "host" を特定できるのは FQDN で、FQDNは hostname.domainname であるので、http://sakaguch.com/ というのはなんとなくすわりが悪い感じがしています。
> もちろん名前解決ができればいいので、それでホストが特定できますからいいのですが、少なくともホストのFQDNとは言えないな、という話です。
sakaguch.com/ や ftp.sakaguch.com や smtp.sakaguch.com で、IPアドレスへ正引きの名前解決が出来ますが、
http://www.sakaguch.com/ や http://ftp.sakaguch.com/ や http://smtp.sakaguch.com/ で、Webサーバへ故意にアクセス出来ない様にしています。
色々なご意見は、ありますが、自宅サーバの稼動費(毎月の電気代)から、ほとんどの方が自宅サーバは、1台のPC機で稼動されています。
ということで、私にとってURLは、短い程良く、sakaguch.com. は、ホスト名(末端の計算機名)をFQDNで、呼んだものになっており、
正に自宅サーバのステータスシンボル(象徴)となっております。勿論、こちら
http://www.din.or.jp/~ohzaki/perl.htm#httpURL
のURLの正規表現でも合格しています。
従って、メールアドレスもプロバイダの様なwebmaster@smtp.sakaguch.comではなく、webmaster@sakaguch.comにしております。


中田昭雄 nakata@st.rim.or.jp 2002/09/27 21:21

鷹の巣さん、
「EXAMPLE.miniDNS.net」は FQDN ですが、FQDN自体 Domain Name ということですから全体を表現するときに「ドメイン名」というかどうかでちょっと混乱を招きやすいと思います。
個々の EXAMPLE はホスト名、miniDNS は(サブ)ドメイン名、net もドメイン名 で miniDNS.net もドメイン名、EXAMPLE.miniDNS.net もFQDNという意味でドメイン名ですね。
FQDNはホスト名部分とドメイン名部分からなるホストの(完全な)ドメイン名という話だと思います。「名前」というときに「氏名」の「名」を指す場合と「氏名」を指す場合とがあるのと同じような話ですね。

グローバルIPアドレスがひとつで、かつ動的に変わる場合(つまりダイナミックの場合)、サブドメインを登録することはほとんどないと思えます。
鷹の巣さんの説明の中では、「サブドメイン」と書いてあるところを全部「ホスト」と変えてしまってもいいのではないでしょうか。
実際、それぞれのダイナミックDNSの設定画面では、「ホスト名」とか「Hostname」と書いてあると思います。

ついでに書きますと、
HTTP/1.1のRFC(RFC2616)では、HTTPのURLは、

http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]

となっています。つまり、http:// のあとにくるのは "host" なので、HTTPサーバを作っている私としては、そこは ホストを特定できる名前であるという意識が強いのです。
そういう意味では、インターネット上で "host" を特定できるのは FQDN で、FQDNは hostname.domainname であるので、http://sakaguch.com/ というのはなんとなくすわりが悪い感じがしています。 もちろん名前解決ができればいいので、それでホストが特定できますからいいのですが、少なくともホストのFQDNとは言えないな、という話です。


鷹の巣 webmaster@sakaguch.com 2002/09/27 01:07

> サブドメイン名とホスト名の区別があいまいなような気がします。 たとえば、
> http://sakaguch.com/SetminiDNSjp.html#SubDomain
> の「2.サブドメイン名の登録」で、Hostレコードの「ホスト名」のところに「サブドメイン名を入力」と説明していますよね。

ご指摘通りサブドメイン名という表現は、間違っていました。ご指摘を頂きありがとうございました。

ホスト名とサブドメイン名の違い。
1.ホスト名は、木をひっくり返した構造の葉の部分(末端の計算機名)を表す完全に限定されたドメイン名(FQDN)ですから、
 ホスト名には、子供のドメイン名(ホスト名)が作れません。
2.サブドメイン名は、木をひっくり返した構造の枝の部分や葉の部分を表す完全に限定されたドメイン名(FQDN)で、
 親ドメイン名に対して相対的にサブドメイン名と表現しますので、子供のドメイン名(ホスト名)が作れたり、作れなかったりします。

ご指摘の箇所ですが、
「EXAMPLE.miniDNS.net」は、「miniDNS.net」というドメイン名のサブドメイン名です。
「EXAMPLE.miniDNS.net」の場合は、子供のドメイン名(例えば、WWW.EXAMPLE.miniDNS.net等)が作れませんので、
「EXAMPLE.miniDNS.net」は、ホスト名と表現する方が適切でした。

「ホスト名(EXAMPLE.miniDNS.net)を入力」に、これを「サブドメイン名(EXAMPLE.miniDNS.net)を入力」と書いていると、
あたかも「WWW.EXAMPLE.miniDNS.net」や「SMTP.EXAMPLE.miniDNS.net」という様な子供のホスト名が作れる様な感覚になります。

追記)木をひっくり返した構造の葉の部分の説明
ホスト名:EXAMPLE.miniDNS.netの正規表現は、EXAMPLE.miniDNS.net.(空のテキストラベル)で、
各ノード名(分岐点名)は、「空のテキストラベル」、「net」、「miniDNS」、「EXAMPLE」となっております。
ルートドメイン(基点名)が「空のテキストラベル」
トップレベルドメイン(第1レベルドメイン)が「net.」
第2レベルドメインが「miniDNS.net.」で「net.」のサブドメイン名
第3レベルドメインが「EXAMPLE.miniDNS.net.」で「miniDNS.net.」のサブドメイン名であり、子供のドメイン名(ホスト名)が作れないので、
これは、ドメインの末端のホスト名です。

# 私のWebページを一番読んでいないのは、私自身だと思いますので、一度じっくり読んで訂正致します。
# 今後もご指摘やご指導、宜しくお願い致します。


中田昭雄 nakata@st.rim.or.jp 2002/09/26 21:03

鷹の巣さん、
ついでの話のようになって申し訳ありませんが、鷹の巣さんの解説ページで、サブドメイン名とホスト名の区別があいまいなような気がします。
たとえば、
http://sakaguch.com/SetminiDNSjp.html#SubDomain
の「2. サブドメイン名の登録」で、Hostレコードの「ホスト名」のところに「サブドメイン名を入力」と説明していますよね。
ちょっと混乱の原因になりそうな気がしますが。。。


鷹の巣 webmaster@sakaguch.com 2002/09/26 01:52

> http://*****.webworld.dip.jp/
> のようにしてアクセスできるようにしたいのですが、どうしたらいいでしょう。

dip.jpのサブドメイン名は、家サーバ・プロジェクトさん
http://www.ieserver.net/
のサブドメイン名ですね。以下の様にアクセス先のindex.htmlを分けるには、
http://WWWuser1.dip.jp/ --- D:\WWWuser1\index.html
http://WWWuser2.dip.jp/ --- D:\WWWuser2\index.html
http://WWWuser3.dip.jp/ --- D:\WWWuser3\index.html
まず、WWWuser1.dip.jpからWWWuser3.dip.jpまでのIPアドレスが
全て、柳町さんのWebサーバのグローバルアドレスに変換されなくてはいけません。
グローバルアドレスが1個の場合は、WWWuser1.dip.jpからWWWuser3.dip.jpまでのIPアドレスは、全て同じIPアドレスになります。

# 多分、http://WWWuser1.webworld.dip.jp/の様なhttp://webworld.dip.jp/の子供は作れないと思います。
# バーチャルホストを行う以前にhttp://webworld.dip.jp/のドキュメントルートにindex.htmlのファイルを置かれたり、どうにかされた方が良いと考えます。


中田昭雄 nakata@st.rim.or.jp 2002/09/25 21:32

柳町さん、
バーチャルホストの設定をするだけではだめだ、ということはわかっていますか?
ダイナミックDNSの方もそれなりに設定しないといけません。
それが設定できないダイナミックDNSのサービスもあるようなので、まず、それを確認した方がいいでしょう。


柳町洋光 hiromitsu@po2.across.or.jp 2002/09/25 11:02

いつもお世話になります。
いま、http://webworld.dip.jp/~*****
となっているアドレスを
http://*****.webworld.dip.jp/
のようにしてアクセスできるようにしたいのですが、どうしたらいいでしょう。
バーチャルホスト機能を使えばいいことは分かっているのですが、どこにどんなふうに入力したらいいのか分かりません。
 詳しく教えてください。