<idn> 要素 (Uri 設定)
更新 : 2007 年 11 月
国際化ドメイン名 (IDN: Internationalized Domain Name) による解析をドメイン名に適用するかどうかを指定します。
スキーマの階層
構文
<idn
enabled="All|AllExceptIntranet|None"
/idn>
属性および要素
以降のセクションでは、属性、子要素、および親要素について説明します。
属性
要素 |
説明 |
---|---|
enabled |
ドメイン名に国際化ドメイン名 (IDN: Internationalized Domain Name) による解析を適用するかどうかを指定します。既定値は None です。 |
子要素
なし
親要素
要素 |
説明 |
---|---|
URI (Uniform Resource Identifier) で表現された Web アドレスが .NET Framework によってどのように処理されるかの設定を格納します。 |
解説
.NET Framework 3.5、3.0 SP1、および 2.0 SP1 では、既存の Uri クラスが拡張され、IRI (International Resource Identifier) および国際化ドメイン名 (IDN: Internationalized Domain Name) をサポートするようになりました。明示的に IRI と IDN サポートを有効にしない限り、現在のユーザーには .NET Framework 2.0 の動作からの変更点はわかりません。これにより、以前のバージョンの .NET Framework との互換性が確保されます。
IRI のサポートを有効にするには、次の 2 点を変更する必要があります。
.NET Framework 2.0 ディレクトリの machine.config ファイルに次の行を追加する。
<section name="uri" type="System.Configuration.UriSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
ドメイン名に国際化ドメイン名 (IDN: Internationalized Domain Name) による解析を適用するかどうか、および IRI の解析規則を適用するかどうかを指定する。これは machine.config ファイルまたは app.config ファイルで行うことができます。
使用する DNS サーバーに応じて、IDN がとりうる値は次の 3 つです。
idn enabled = All
この値の場合、Unicode のドメイン名があれば、それを等価の Punycode (IDN 名) に変換します。
idn enabled = AllExceptIntranet
この値の場合、ローカルなイントラネット上にないすべての Unicode ドメイン名を、等価の Punycode (IDN 名) を使用するように変換します。このように、ローカルなイントラネットで国際名を処理する場合、このイントラネットで使用する DNS サーバーは Unicode の名前解決をサポートしている必要があります。
idn enabled = None
この値の場合、どの Unicode のドメイン名も、Punycode (IDN 名) を使用するように変換しません。これが既定値であり、.NET Framework 2.0 の動作と同じです。
IDN を有効にすると、ドメイン名に含まれるすべての Unicode ラベルが等価の Punycode に変換されます。Punycode 名は ASCII 文字だけで構成され、必ず xn-- というプレフィックスで始まります。この目的は、インターネット上の既存の DNS サーバーをサポートすることです。ほとんどの DNS サーバーは、ASCII 文字しかサポートしていません (RFC 3940 を参照)。
構成ファイル
この要素は、アプリケーション構成ファイルまたはマシン構成ファイル (Machine.config) で使用できます。
例
説明
次のコード例は、Uri クラスで IRI の解析および IDN 名をサポートするための構成を示しています。
コード
<configuration>
<uri>
<idn enabled="All" />
<iriParsing enabled="true" />
</uri>
</configuration>