<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>名前解決</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">name resolution</rt></rubyb></dfn>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>等の名前から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ネットワーク</anchor>上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アドレス</anchor>を得る操作です。
多くの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor> や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プログラミング言語</anchor>の標準ライブラリー等は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNSドメイン名</anchor>等から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPアドレス</anchor>等を取得できる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>の仕組みを提供しています。</p><section><h1>プロトコル</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>、あるいは個別の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>のいずれか、あるいはその組み合わせにより実装されており、
その実装方法は様々です。従って同じ環境でも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>によって動作が異なることがあります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>における <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNSキャッシュ</anchor> (や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> 以外の方法で得られた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>結果の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>)
の動作も違いがあります。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNSキャッシュ</anchor>も参照。なお<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">再読み込み</anchor>時には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNSキャッシュ</anchor>を回避するような実装もあるようです。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>には、次のような手段が使われます。どれを使うか、どのような優先順位とするか、
失敗した場合他の方法を試すか、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>を適用するかなどは実装により異なります。</p><figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS解決器</anchor>)</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mDNS</anchor></li><li><code class="file"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/etc/hosts</anchor></code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NetBIOS名前解決</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LLMNR</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NIS</anchor></li></ul></figure><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>のパターンなどにより複数の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> サーバーを使い分ける実装もあります。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 実装によっては通常と異なる <code xmlns="http://www.w3.org/1999/xhtml" class="file"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/etc/hosts</anchor></code> を使えるものもあります。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> 設定により動作を変更できる実装もあります。</comment-p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> 多くの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Linux</anchor> システムでは既定の状態で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> より
<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/etc/hosts</anchor></code> が優先されるようになっています。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web開発者</anchor>はしばしば
<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/etc/hosts</anchor></code> を書き換えて、実際とは異なるサーバーに接続させ、
開発中のアプリケーションの動作を確認することがあります。
中にはこの標準的な動作とは異なる実装もありますが <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal></src>、
そうした使い方ができないため、不評です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8</anchor-internal></src>。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> 入力として <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPアドレス</anchor> (のようなもの) を与えた場合、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPアドレス</anchor>として解釈した結果を返す実装もあります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">十六進数</anchor>表記の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPv4アドレス</anchor>など、標準的でない <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPアドレス</anchor>の指定方法を認めている実装もあります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホスト</anchor>など、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPアドレス</anchor>のいずれかを指定できる文脈もよくあるので、
どちらが入力でも適当な結果が返される方が便利そうです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDN</anchor> に対応する実装もあります。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDN</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC</anchor> の趣旨に従うなら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>側で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Aラベル</anchor>に変換してから<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>するべきなのでしょうが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> 以外の方法で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>する可能性を考慮すると、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>側で処理するのが適切にも思われます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 6055</anchor> も<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>ではなく<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>ライブラリー側で変換するのが好ましいとしています。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> 解決する名前のパターンその他で解決方法を切り替えたり、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Aラベル</anchor>への変換を行うかどうか決定したり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNSサーバー</anchor>を切り替えたりする実装や設定もあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> の実装によっては、指定された通りの名前を解決するだけでなく、
指定された名前の後に予め設定された文字列
(所属するネットワークに割り振られた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>など) を結合した名前を解決しようとすることがあります。
所属ネットワークの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>を省略した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホスト名</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">計算機名</anchor>)
のみで名前解決できるようにするために用意されている機能です。
解決したい名前の末尾に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">根ドメイン</anchor>を表す <code>.<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">末尾の点</title></code>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>) を明記することでこの挙動を防ぐことができるとされています
(が、実際の挙動は、実装によって異なっています)。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> いわゆる <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">alternative root</anchor> の他、組織内ネットワーク等の 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNSサーバー</anchor>を用いて一部または全部の名前を解決するように設定されていることがあり、
その場合<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターネット</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> 
で用いられている<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>の体系に属さない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>されることがあります。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> たとえば Example 社の社内ネットワークの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNSサーバー</anchor>には、 <code>main.x</code> や
<code>printer.x</code> の <code>x</code> のような独自の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLD</anchor> が存在するかもしれません。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNSラウンドロビン</anchor>の実装方法や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPv4</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPv6</anchor> の選択など、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS解決器</anchor>の実装の詳細や動作モードにも様々なバリエーションがあります。</p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="98" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[98]</anchor-end> 
<code>localhost</code> と <code>.localhost</code> について、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">let-localhost-be-localhost</anchor>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決規則</anchor>があります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="99" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[99]</anchor-end> この規則を採用するか否かは、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">潜在的に信頼できる起源</anchor>の判定に影響します。</p></section><section><h1>出力</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> 名前解決が成功した場合は、アドレスが返されます。一般的には、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPv4アドレス</anchor>または
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPv6アドレス</anchor>が返されます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNSラウンドロビン</anchor>などで複数のアドレスが得られた場合、
アドレスのリストが返される実装もあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[60]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> では、 <code>CNAME</code> によって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前</anchor>に対応する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アドレス</anchor>を他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前</anchor>によって間接的に記述することができますが、
普通、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>は、それを更に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決</anchor>して最終的に得られた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アドレス</anchor>を返します。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>側は中間の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前</anchor>にはアクセスできず、
諸操作に中間の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前</anchor>を使うこともありません。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="61" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[61]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPリダイレクト</anchor>があると、最終的な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor>
は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リダイレクト</anchor>の指示に従って書き換わった結果の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> となります。
それとは違って、 <code>CNAME</code> が使われていても、大元の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>がそのまま<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>の
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> に使われ、書き換わることはありません。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor> 等が提供する名前解決では、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> における <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TTL</anchor> など名前に付随するその他の情報にはアクセスできないのが一般的です。
これを理由にアプリケーション側で独自に名前解決を実装することもあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> 名前解決は失敗することがあります。アプリケーションは失敗時の処理も実装しておく必要があります。</p></section><section><h1>特別な IP アドレスの扱い</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> 通常は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ユニキャストアドレス</anchor>が返されることが期待されていますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> 等が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ブロードキャストアドレス</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マルチキャストアドレス</anchor>、
あるいは特殊なアドレスを返す可能性もあります。</p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> 広く<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターネット</anchor>からアクセス可能な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アドレス</anchor>が返されることもあれば、
私的なネットワーク内のみで通用するアドレスのこともあります。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> 公的な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>から私的な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アドレス</anchor>が返されることを防ぎたい場合もあるかもしれませんが、
一般的な <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor> 等の名前解決器はそのような機能を提供していないので、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>側で個別に実装する必要があります。</comment-p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="95" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[95]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NEC</anchor> のネットワーク機器の中には、 <code>aterm.me</code> を機器設定画面の
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webサーバー</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPアドレス</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">名前解決</title></anchor>するものがあります。
<code>aterm.me</code> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NEC</anchor> が所有する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>で、
通常の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NEC</anchor> の公開 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webサーバー</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">名前解決</title></anchor>されます。</p></example><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="93" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[93]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> は <code>0.0.0.0/8</code> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>エラーとするようです。
<time>2016-11-13T06:34:20.500Z</time></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>を経由しない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPアドレス</anchor>へのアクセスは挙動が異なります。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="94" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[94]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> は <code>224.0.0.1</code> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マルチキャスト</anchor> <code>224.0.0.0/3</code>)
や <code>255.255.255.255</code> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ブロードキャスト</anchor>) を失敗としますが、
非妥当アドレスエラーなので、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>レベルではなく <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TCP</anchor>
側のエラーかもしれません。 <time>2016-11-13T06:36:14.100Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> は <code>127.0.53.53</code> (<code>ICANN_NAME_COLLISION</code>)
を失敗としますが、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>より後のエラーかもしれません。 <time>2016-11-13T06:36:32.000Z</time></p></section><section><h1>プロキシによる間接的名前解決</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SOCKS</anchor> では接続先として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPアドレス</anchor>ではなく<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>を指定することもできますので、
これは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SOCKS</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー</anchor>に委ねていることになります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">絶対URL</anchor>による <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP要求</anchor>や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CONNECT</anchor></code> 
では接続先の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホスト</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求対象</anchor>として指定することになるので、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPサーバー</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">串</anchor>) に委ねていることになります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> 組織内ネットワークの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SOCKS</anchor>5 プロキシ経由でアクセスするべき場合のように、
当該システムにおいて通常の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> などでは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>できないものが使われることもあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Tor</anchor> の <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">.onion</anchor></code> のように、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> 等通常の方法で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>することは想定せず、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SOCKS</anchor> など<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">串</anchor>を通した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>に限って用いられる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>も存在します。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> そのような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>であっても <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">authority</anchor> に使われるなど、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>以外の使われ方では通常の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>と区別がつきません。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="92" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[92]</anchor-end> 通常の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> への<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">情報漏洩</anchor>を避けるため、そうした <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLD</anchor>
の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>が必ず失敗し、外部に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決</anchor>を委ねない実装もあります。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> こうした形の間接的な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>では、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>は解決結果のアドレスを知ることはできませんし、その必要もありません。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>が直接アクセスできないアドレスに解決されている可能性も強いです。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロキシ</anchor>による接続と通常の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>が混在すると、
意図しない動作を引き起こすかもしれません。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> 例えば、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロキシ</anchor>による<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS prefetch</anchor>
を併用すると、おかしなことが起こるかもしれません。</p></example></section><section><h1>解決にかかる時間</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> 等ネットワークにより問い合わせる場合には相応の時間を必要とします。
そのためアプリケーションの処理内容や解決する名前の量によっては、
できるだけ名前解決が発生するのを避けるべきとされていることもあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS Prefetching</anchor> のような、必要になりそうな<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>を予め行い結果を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>する仕組みが利用されることもあります。</p></section><section><h1>Web における名前解決</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>は透過的に行われ、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">著者</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">順引き</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">逆引き</anchor>などの
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> は提供されていません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebSocket接続の確立</anchor>では同時接続数の制限に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>結果が使われています。</p></section><section><h1>文脈</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> 次の場面で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>が行われます。<figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP接続</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebSocket接続の確立</anchor></li><li><code class="HTML" xml:lang="en">dns-prefetch</code></li></ul></figure></p></section><section><h1>セキュリティー</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNSSEC</anchor> を使う場合や組織内の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNSサーバー</anchor>に組織内ドメインの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>を委ねた場合、
<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/etc/hosts</anchor></code> を使う場合など<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>の結果が「正しい」
ことを保証できる場合もあれば、一般の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターネット</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>の解決の場合のように、(通信路上または <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> 等のサーバーにおいて)
攻撃者に結果を改竄される可能性を排除できない場合もあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS</anchor> + <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー証明書</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">service identity</anchor> 検証のように、
用途に応じた適切な手段で解決結果と通信相手が「正しい」
ことを別途確認する必要があるかもしれません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS rebinding</anchor> のように<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>を操作することによる攻撃も存在します。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー</anchor>は、自身の意図する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前</anchor>でのみ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>がアクセスして来ることが保証されていませんから、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SNI</anchor> や <code class="HTTP" xml:lang="en">Host:</code> の検証などを通してこれを検査する必要があります。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実効要求URL</anchor>も参照。</comment-p></section><section><h1>実装</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[80]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>を使うのをやめて独自実装に切り替えましたが、
その過程で相当数の不具合報告を受け取っており、いくつかは未だ解消していないようです。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>処理は明文化されていない部分が相当に複雑で再実装困難なようです。</p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="en">Windows 名前解決の順序 - Ask the Network &amp; AD Support Team - Site Home - TechNet Blogs</cite>
(<time>2015-03-21 19:13:48 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://blogs.technet.com/b/jpntsblog/archive/2009/07/13/windows.aspx">http://blogs.technet.com/b/jpntsblog/archive/2009/07/13/windows.aspx</anchor-external></figcaption><blockquote><p>1) DNS リゾルバーキャッシュ (*1) を確認して、指定された名前に対応するレコードがキャッシュされている場合は、そのアドレスを返します。 </p><p>2) HOSTSファイル (*2) を参照し、指定された名前に対応するレコードが登録されている場合はそのアドレスを返します。 </p><p>3) 登録されている DNS サーバーに問い合わせを行い、受領したアドレスを返します。 </p><p>4) 上記 1 ~ 3 で名前解決に成功しない場合は、NetBIOS 名前解決を行います。 </p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite xml:lang="en-us">Microsoft TCP/IP のホスト名解決の順序</cite>
(<time>2015-03-21 19:15:29 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://support.microsoft.com/en-us/kb/172218/ja">https://support.microsoft.com/en-us/kb/172218/ja</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <cite xml:lang="ja">Microsoft ネットワークを解剖する 第1回「NetBIOSでの通信と名前解決の仕組み」 -- Microsoftネットワークの混迷 --</cite>
(<time>2006-07-12 00:00:19 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.monyo.com/technical/windows/msnet/msnet1.html">http://www.monyo.com/technical/windows/msnet/msnet1.html</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <cite>Postfix Configuration Parameters</cite>
(<time>2015-02-08 21:38:00 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.postfix.org/postconf.5.html#smtp_host_lookup">http://www.postfix.org/postconf.5.html#smtp_host_lookup</anchor-external></figcaption><blockquote><p>smtp_host_lookup (default: dns)</p><p>:dns:Hosts can be found in the DNS (preferred).</p><p>:native:Use the native naming service only (nsswitch.conf, or equivalent mechanism).</p><p>:dns, native:Use the native service for hosts not found in the DNS.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <cite>Man page of NSSWITCH.CONF</cite>
(<time>2015-02-06 06:34:01 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://linuxjm.sourceforge.jp/html/LDP_man-pages/man5/nsswitch.conf.5.html">http://linuxjm.sourceforge.jp/html/LDP_man-pages/man5/nsswitch.conf.5.html</anchor-external></figcaption><blockquote><p>ネームサービススイッチ (Name Service Switch; NSS) の設定ファイル /etc/nsswitch.conf は、 GNU C ライブラリが いろいろなカテゴリーの名前サービス情報を、どの情報源から どの順序で取得するかを判断するのに使用される (情報の各カテゴリーはデータベース名で識別される)。</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <cite xml:lang="en">Check /etc/hosts first · Issue #2 · potyl/perl-AnyEvent-CacheDNS</cite>
(<time>2015-03-21 19:25:21 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/potyl/perl-AnyEvent-CacheDNS/issues/2">https://github.com/potyl/perl-AnyEvent-CacheDNS/issues/2</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <cite>AnyEvent::Socket - search.cpan.org</cite>
(<time>2015-03-21 19:26:56 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://search.cpan.org/dist/AnyEvent/lib/AnyEvent/Socket.pm">http://search.cpan.org/dist/AnyEvent/lib/AnyEvent/Socket.pm</anchor-external></figcaption><blockquote><p>For internet addresses, $node is either an IPv4 or IPv6 address, an internet hostname (DNS domain name or IDN)</p><p>If a host cannot be found via DNS, then it will be looked up in /etc/hosts (or the file specified via $ENV{PERL_ANYEVENT_HOSTS}). If they are found, the addresses there will be used. The effect is as if entries from /etc/hosts would yield A and AAAA records for the host name unless DNS already had records for them.</p><p>For UNIX domain sockets, $node must be the string unix/</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <cite xml:lang="en">dex4er/perl-AnyEvent-DNS-EtcHosts</cite>
(<time>2015-03-21 19:31:10 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/dex4er/perl-AnyEvent-DNS-EtcHosts">https://github.com/dex4er/perl-AnyEvent-DNS-EtcHosts</anchor-external></figcaption><blockquote><p>AnyEvent::DNS::EtcHosts changes AnyEvent::DNS behavior. The /etc/hosts file is searched before DNS, so it is possible to override DNS entries.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <cite xml:lang="ja">idn wrapper - JPNIC</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Japan Network Information Center</anchor> 著, <time>2015-03-21 20:33:19 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.nic.ad.jp/ja/idn/mdnkit/download/documents/idnkit-1.0pr1-doc/ja/guide/wrapper.html">https://www.nic.ad.jp/ja/idn/mdnkit/download/documents/idnkit-1.0pr1-doc/ja/guide/wrapper.html</anchor-external></figcaption><blockquote><p>Windows では、DNS だけではなく、WINSやLMHOSTS によってもドメイン名、 ホスト名の解決が行われます。 idn wrapper を使った場合には、これらのすべての方式について、 国際化ドメイン名への対応のためのエンコーディング変換が行われることになります。</p><p>このため、Windows が、WINSやLMHOSTS を使っている場合には、予期しない 問題が発生する可能性があります。 idn wrapper を使う場合には、名前解決にDNS だけを使用することをお勧めします。</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <cite xml:lang="ja">&lt;idn&gt; 要素 (Uri 設定)</cite>
(<time>2015-03-21 20:34:42 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://msdn.microsoft.com/ja-jp/library/bb882553(v=vs.110).aspx">https://msdn.microsoft.com/ja-jp/library/bb882553(v=vs.110).aspx</anchor-external></figcaption><blockquote><p>idn enabled = AllExceptIntranet</p><p>この値は、ローカルなイントラネット以外のすべての Unicode ドメイン名を、等価の Punycode (IDN 名) を使用するように変換します。 このように、ローカルなイントラネットで国際名を処理する場合、このイントラネットで使用する DNS サーバーは Unicode の名前解決をサポートしている必要があります。</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <cite>Network Stack - The Chromium Projects</cite>
(<time>2015-03-21 10:14:33 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.chromium.org/developers/design-documents/network-stack">https://www.chromium.org/developers/design-documents/network-stack</anchor-external></figcaption><blockquote><p>Note that, as of time of writing, we cap the number of concurrent host resolutions to 8, but are looking to optimize this value.  HostResolverImpl also contains a HostCache which caches up to 1000 hostnames.</p></blockquote></figure></section><section><h1>相互運用性</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>は各システムやその所属する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ネットワーク</anchor>の様々な事情の影響を受けるため、
明確な標準が存在せず、様々な実装や設定が存在しています。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターネット</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LDHラベル</anchor>のみで構成される一般的な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>のみを使う限りは問題はほとんど起こりませんが、
それ以外の、少しでも特殊な事情のある名前の解決は、しばしば問題を引き起こします。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>の問題は個別システムの事情で標準化に馴染まないとの考え方もありますが、
実際にはネットワークアプリケーションの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相互運用性</anchor>に関わる重要な要素の1つです。
例えば <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">authority</anchor> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>を使っていますから、
それがどう<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決</anchor>されるかは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> の根幹に関わります。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> のセキュリティーモデルである<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">同一起源ポリシー</anchor>は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor>
の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホスト</anchor>などをセキュリティー上のグループ単位に使っています。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>がどう解決されるかが特定システム上で一貫している必要があるのはもちろん、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>の間でも共通に理解される必要があります。</p></example><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[62]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PKIX</anchor> に従い<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">発行</anchor>された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">証明書</anchor>を使った <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">service identity</anchor>
の検証は、現在<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターネット</anchor>全体で標準的に用いられている <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor>
による<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>で運用されている<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>体系を前提としています。</p></example></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前</anchor>から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アドレス</anchor>への変換を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正引き</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アドレス</anchor>から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前</anchor>への変換を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">逆引き</anchor>と呼ぶことがあります。</p></section><section><h1>歴史</h1><section><h1>IDNA2003</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[83]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決</anchor>を行う<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ソフトウェア・コンポーネント</anchor>を<dfn><ruby>解決器<rt>リゾルバー</rt><rt xml:lang="en">resolver</rt></ruby></dfn>といいます。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[84]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDNA2003</anchor> <cite xml:lang="en">RFC 3490 - Internationalizing Domain Names in Applications (IDNA)</cite> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc3490#section-6.2">https://tools.ietf.org/html/rfc3490#section-6.2</anchor-external></li></ul></refs><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[86]</anchor-end> </figcaption><blockquote><p>Applications normally use functions in the operating system when they
resolve DNS queries.  Those functions in the operating system are
often called &quot;the resolver library&quot;, and the applications communicate
with the resolver libraries through a programming interface (API).</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="85" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[85]</anchor-end> 旧来の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リゾルバー・ライブラリー</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCIIドメイン名</anchor>を想定しているので、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDNA</anchor>
対応<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ToASCII</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">演算</anchor>により <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII</anchor>
に変換する準備をし<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なければなりません</strong></anchor>。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;84</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="87" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[87]</anchor-end> 新しい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リゾルバー・ライブラリー</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>に対応し、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ToASCII</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ToUnicode</anchor> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>の内部で行うことが想定されています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;84</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="88" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[88]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リゾルバー・ライブラリー</anchor>に渡したり、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">question section</anchor>
に入れたりする<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Stringprep</anchor> における<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">照会文字列</anchor>の規則に従います
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;84</anchor-internal></src>。</p></section><section><h1>IDNA2008</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="90" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[90]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDNA2008</anchor> <cite xml:lang="en">RFC 5890 - Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework</cite> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc5890#section-2.2">https://tools.ietf.org/html/rfc5890#section-2.2</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="91" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[91]</anchor-end> 「<dfn>lookup</dfn>」は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDNA2008</anchor> によって行われる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">演算</anchor>と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS解決器</anchor>によって行われるものの全体を指します
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="90" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;90</anchor-internal></src>。</p></section><section><h1></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> <cite xml:lang="en">RFC 6055 - IAB Thoughts on Encodings for Internationalized Domain Names</cite>
(<time>2015-04-26 07:31:45 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc6055#page-6">https://tools.ietf.org/html/rfc6055#page-6</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> <cite xml:lang="en">RFC 6055 - IAB Thoughts on Encodings for Internationalized Domain Names</cite>
(<time>2015-04-26 07:31:45 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc6055#section-4">https://tools.ietf.org/html/rfc6055#section-4</anchor-external></figcaption><blockquote><p>It is inappropriate for an application that calls a general-purpose</p><p>name resolution library to convert a name to an A-label unless the</p><p>application is absolutely certain that, in all environments where the</p><p>application might be used, only the global DNS that uses IDNA</p><p>A-labels actually will be used to resolve the name.</p><p>Instead, conversion to A-label form, or any other special encoding</p><p>required by a particular name-lookup protocol, should be done only by</p><p>an entity that knows which protocol will be used (e.g., the DNS</p><p>resolver, or getaddrinfo() upon deciding to pass the name to DNS),</p><p>rather than by general applications that call protocol-independent</p><p>name resolution APIs.  (Of course, applications that store strings</p><p>internally in a different format than that required by those APIs,</p><p>need to convert strings from their own internal format to the format</p><p>required by the API.)  Similarly, even if an application can know</p><p>that DNS is to be used, the conversion to A-labels should be done</p><p>only by an entity that knows which part of the DNS namespace will be</p><p>used.</p><p>That is, a more intelligent DNS resolver would be more liberal in</p><p>what it would accept from an application and be able to query for</p><p>both a name in A-label form (e.g., over the Internet) and a UTF-8</p><p>name (e.g., over a corporate network with a private namespace) in</p><p>case the server only recognizes one.  However, we might also take</p><p>into account that the various resolution behaviors discussed earlier</p><p>could also occur with record updates (e.g., with Dynamic Update</p><p><strong>[</strong>RFC2136<strong>]</strong>), resulting in some names being registered in a local</p><p>network's private namespace by applications doing conversion to</p><p>A-labels, and other names being registered using UTF-8.  Hence, a</p><p>name might have to be queried with both encodings to be sure to</p><p>succeed without changes to DNS servers.</p><p>Similarly, a more intelligent stub resolver would also be more</p><p>liberal in what it would accept from a response as the value of a</p><p>record (e.g., PTR) in that it would accept either UTF-8 (U-labels in</p><p>the case of IDNA) or A-labels and convert them to whatever encoding</p><p>is used by the application APIs to return strings to applications.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> <cite>Manpage of GETHOSTBYNAME</cite>
( (<time>2010-04-25 12:26:43 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://archive.linux.or.jp/JM/html/LDP_man-pages/man3/gethostbyname.3.html">http://archive.linux.or.jp/JM/html/LDP_man-pages/man3/gethostbyname.3.html</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="58" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[58]</anchor-end> <cite xml:lang="en">RFC 7686 - The &quot;.onion&quot; Special-Use Domain Name</cite>
(<time>2015-10-24 08:17:52 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7686">https://tools.ietf.org/html/rfc7686</anchor-external></figcaption><blockquote><p>3.  Name Resolution APIs and Libraries: Resolvers MUST either respond</p><p>to requests for .onion names by resolving them according to</p><p><strong>[</strong>tor-rendezvous<strong>]</strong> or by responding with NXDOMAIN <strong>[</strong>RFC1035<strong>]</strong>.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="59" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[59]</anchor-end> <cite xml:lang="en">RFC 7542 - The Network Access Identifier</cite>
(<time>2015-10-18 15:17:56 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7542#section-3.2">https://tools.ietf.org/html/rfc7542#section-3.2</anchor-external></figcaption><blockquote><p>When the realm portion of the NAI is used as the basis for name</p><p>resolution, it may be necessary to convert internationalized realm</p><p>names to Punycode <strong>[</strong>RFC3492<strong>]</strong> encoding form as described in <strong>[</strong>RFC5891<strong>]</strong>.</p><p>As noted in Section 2 of <strong>[</strong>RFC6055<strong>]</strong>, resolver Application Programming</p><p>Interfaces (APIs) are not necessarily DNS specific, so conversion to</p><p>Punycode needs to be done carefully:</p><p>Applications that convert an IDN to A-label form before calling (for</p><p>example) getaddrinfo() will result in name resolution failures if the</p><p>Punycode name is directly used in such protocols.  Having libraries</p><p>or protocols to convert from A-labels to the encoding scheme defined</p><p>by the protocol (e.g., UTF-8) would require changes to APIs and/or</p><p>servers, which Internationalized Domain Names for Applications (IDNA)</p><p>was intended to avoid.</p><p>As a result, applications SHOULD NOT assume that non-ASCII names are</p><p>resolvable using the public DNS and blindly convert them to A-labels</p><p>without knowledge of what protocol will be selected by the name</p><p>resolution library.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[63]</anchor-end> <cite>#5741 (TBB proxy bypass: Some DNS requests not going through Tor) – Tor Bug Tracker &amp; Wiki</cite>
( (<time>2016-06-16 11:33:05 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://trac.torproject.org/projects/tor/ticket/5741">https://trac.torproject.org/projects/tor/ticket/5741</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="64" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[64]</anchor-end> <cite xml:lang="en">Firefox security bug (proxy-bypass) in current TBBs | The Tor Blog</cite>
( (<time>2016-06-16 11:32:28 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://blog.torproject.org/blog/firefox-security-bug-proxy-bypass-current-tbbs">https://blog.torproject.org/blog/firefox-security-bug-proxy-bypass-current-tbbs</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="65" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[65]</anchor-end> <cite xml:lang="en">Issue 432236 - chromium - Remove AsyncDNS option in about:flags - Monorail</cite>
( (<time>2016-06-16 19:17:34 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=432236">https://bugs.chromium.org/p/chromium/issues/detail?id=432236</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[66]</anchor-end> <cite xml:lang="en">Issue 265970 - chromium - Built-in DNS resolver does not handle /etc/resolver configuration - Monorail</cite>
( (<time>2016-06-16 19:20:38 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=265970">https://bugs.chromium.org/p/chromium/issues/detail?id=265970</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> <cite xml:lang="en">Issue 545123 - chromium - Experiment with use Async DNS in Cronet - Monorail</cite>
( (<time>2016-06-16 19:22:36 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=545123">https://bugs.chromium.org/p/chromium/issues/detail?id=545123</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> <cite xml:lang="en">Issue 239657 - chromium - Crash with async DNS when nameserver rotation enabled and socket pools are exhausted - Monorail</cite>
( (<time>2016-06-16 19:23:06 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=239657">https://bugs.chromium.org/p/chromium/issues/detail?id=239657</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[69]</anchor-end> <cite xml:lang="en">Issue 171346 - chromium - Built-in DNS uses the wrong DNS server - Monorail</cite>
( (<time>2016-06-16 19:23:44 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=171346">https://bugs.chromium.org/p/chromium/issues/detail?id=171346</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="70" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[70]</anchor-end> <cite xml:lang="en">Issue 5139 - webrtc - WebRTC should use async DNS resolution function - Monorail</cite>
( (<time>2016-06-16 19:24:19 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/webrtc/issues/detail?id=5139">https://bugs.chromium.org/p/webrtc/issues/detail?id=5139</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[71]</anchor-end> <cite xml:lang="en">Issue 143454 - chromium - Add field trial for asynchronous DNS - Monorail</cite>
( (<time>2016-06-16 19:24:42 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=143454">https://bugs.chromium.org/p/chromium/issues/detail?id=143454</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[72]</anchor-end> <cite xml:lang="en">Issue 223876 - chromium - Built-in async DNS resolver needs a reliable equivalent to AI_ADDRCONFIG - Monorail</cite>
( (<time>2016-06-16 19:27:50 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=223876">https://bugs.chromium.org/p/chromium/issues/detail?id=223876</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="73" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[73]</anchor-end> <cite xml:lang="en">Issue 516305 - chromium - Chrome not respecting ipv6 prefix precedence on linux. - Monorail</cite>
( (<time>2016-06-16 19:28:56 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=516305">https://bugs.chromium.org/p/chromium/issues/detail?id=516305</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="74" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[74]</anchor-end> <cite xml:lang="en">Issue 117655 - chromium - Respect nsswitch.conf when using HOSTS file with --enable-async-dns - Monorail</cite>
( (<time>2016-06-16 19:29:17 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=117655">https://bugs.chromium.org/p/chromium/issues/detail?id=117655</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[75]</anchor-end> <cite xml:lang="en">Issue 224215 - chromium - Can't access a local webserver anymore - Monorail</cite>
( (<time>2016-06-16 19:30:05 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=224215">https://bugs.chromium.org/p/chromium/issues/detail?id=224215</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="76" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[76]</anchor-end> <cite xml:lang="en">Issue 124437 - chromium - Very large default timeout in DnsConfigService - Monorail</cite>
( (<time>2016-06-16 19:38:25 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=124437">https://bugs.chromium.org/p/chromium/issues/detail?id=124437</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="77" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[77]</anchor-end> <cite xml:lang="en">Issue 518673 - chromium - Slow DNS resolution only within Chrome(?) - Monorail</cite>
( (<time>2016-06-16 19:54:49 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=518673">https://bugs.chromium.org/p/chromium/issues/detail?id=518673</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[78]</anchor-end> <cite xml:lang="en">Issue 132128 - chromium - ChromeOS: IPv4-only DNS on IPv6 network - Monorail</cite>
( (<time>2016-06-16 19:55:39 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=132128">https://bugs.chromium.org/p/chromium/issues/detail?id=132128</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="79" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[79]</anchor-end> <cite xml:lang="en">Issue 402339 - chromium - DNS timeout should be something less than 5 seconds - Monorail</cite>
( (<time>2016-06-16 19:56:16 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=402339">https://bugs.chromium.org/p/chromium/issues/detail?id=402339</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="81" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[81]</anchor-end> <cite xml:lang="en">94079 – PAC: too many DNS lookups</cite>
( (<time>2016-06-16 21:15:15 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=94079">https://bugzilla.mozilla.org/show_bug.cgi?id=94079</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[82]</anchor-end> <cite xml:lang="en">Necko/DNS/ResolverIntegration - MozillaWiki</cite>
(<time>2015-03-21 17:32:04 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://wiki.mozilla.org/Necko/DNS/ResolverIntegration">https://wiki.mozilla.org/Necko/DNS/ResolverIntegration</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[89]</anchor-end> <cite xml:lang="en">Necko/DNS/ResolverIntegration - MozillaWiki</cite>
(<time>2016-09-01 10:31:08 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://wiki.mozilla.org/Necko/DNS/ResolverIntegration">https://wiki.mozilla.org/Necko/DNS/ResolverIntegration</anchor-external></figcaption><blockquote><p>We're planning to integrate a DNS resolver into Gecko. Our primary motivation is performance, but we're also interested in a number of new security features such as DNSSEC.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="96" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[96]</anchor-end> <cite xml:lang="en">WCF and Internationalized Domain Names</cite>
(<time>2017-06-01 22:32:32 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://msdn.microsoft.com/en-us/library/hh556231(v=vs.110).aspx">https://msdn.microsoft.com/en-us/library/hh556231(v=vs.110).aspx</anchor-external></figcaption><blockquote><p>When the IDN setting is set to “None”, no conversions are performed by Uri.Host or Uri.DnsSafeHost. When the IDN setting is set to “All”, uri.Host remains Unicode and uri.DnsSafeHost is converted to Punycode. When the IDN setting is set to “AllExceptIntranet”, uri.DnsSafeHost is converted to Punycode for internet addresses, and remains Unicode for intranet addresses. This setting is important for correct DNS name resolution. </p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="97" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[97]</anchor-end> <cite xml:lang="en">696569 - Cronet needs to support disabling ipv6 - chromium - Monorail</cite>
(<time>2019-03-20 11:18:01 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=696569">https://bugs.chromium.org/p/chromium/issues/detail?id=696569</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="100" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[100]</anchor-end> <cite>curl - How To Use</cite>
(<time>2020-09-21T09:01:13.000Z</time>, <time>2020-10-01T06:30:17.432Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://curl.haxx.se/docs/manpage.html#--resolve">https://curl.haxx.se/docs/manpage.html#--resolve</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="101" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[101]</anchor-end> <cite xml:lang="en">265970 - Built-in DNS resolver does not handle /etc/resolver configuration - chromium</cite>, <time>2023-08-30T06:55:56.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=265970">https://bugs.chromium.org/p/chromium/issues/detail?id=265970</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="102" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[102]</anchor-end> <cite xml:lang="ja">単語の最初のみ(最後のみ)に置換を行うOpenType Feature Fileの書き方 - にせねこメモ</cite>
(<time>2025-03-08T09:06:04.000Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://nixeneko.hatenablog.com/entry/2015/05/09/125826">https://nixeneko.hatenablog.com/entry/2015/05/09/125826</anchor-external></p></section></section></body></html>