.NET Framework用語集 |
URI (Uniform Resource Identifier)
URI は、インターネット上でリソースを検索するための一般的な方式で、場所よりもリソースの方に重点を置いています。理論的には、URI は、ミラー化されているドキュメントのうちから最も近い場所にあるコピーを見つけたり、あるサイトから別のサイトに移動されたドキュメントを検索したりできます。
将来的には、URN の方が一般的になると予想されていますが、現時点で XML について説明するときは、ほとんどの場合 URI は URL を意味しています。
IT用語辞典バイナリ |
URI
読み方:ユーアールアイ
URIとは、インターネット上に存在する文書や画像などの情報資源(リソース)の場所を特定、あるいは識別するための記述方式のことである。いわばインターネットにおける住所であり、現在インターネットで広く用いられるURL(Uniform Resource Locator)を包括する概念である。
URIは、URLに加えて、ISBNなどの永続性の強い記述様式であるURN(Uniform Resource Name)を含んだ上位概念としての記述様式であるといえる。そもそもURLは公式な呼び名ではなく、WWWの標準化団体であるW3CのHTML 4.0やISO-HTMLなどの仕様書ではURIの用語を用い始めていることなどから、徐々にURLに代わってURIが一般的な呼び名となりつつある。
.NET Framework クラス ライブラリ リファレンス |
Uri クラス
アセンブリ: System (system.dll 内)
構文<SerializableAttribute> _ Public Class Uri Implements ISerializable
Dim instance As Uri
/** @attribute SerializableAttribute() */ public class Uri implements ISerializable
SerializableAttribute public class Uri implements ISerializable
解説URI は、アプリケーションが使用できるイントラネットまたはインターネット上のリソースを簡潔に表す記述方式です。Uri クラスは、URI の解析、比較、結合などの URI 処理のためのプロパティとメソッドを定義します。Uri クラスのプロパティは読み取り専用です。変更可能なオブジェクトを作成するには、UriBuilder クラスを使用します。
"/new/index.htm" などの相対 URI は、ベース URI を基準にして展開し、絶対 URI に変換する必要があります。MakeRelative メソッドは、必要に応じて絶対 URI を相対 URI に変換するメソッドです。
エスケープ シーケンスが含まれるスキーム ID を含む正しい形式の URI 文字列の場合、Uri コンストラクタではこの文字列をエスケープできません。
Uri のプロパティは、標準データ形式をエスケープ エンコーディングで返します。このとき、127 より大きい Unicode 値の文字はすべて、それと等価の 16 進数値に置換されます。URI を正規形式で格納するため、Uri コンストラクタは次に示すステップを実行します。
-
ホスト名が IPv6 アドレスである場合、標準の IPv6 アドレスが使用されます。ScopeId とその他のオプションの IPv6 データは削除されます。
-
エスケープ表現や /./、/../、// などのシーケンスを圧縮することにより、階層構造の URI のパスを正規化します。
ToString メソッドを使用して、Uri クラスの内容をエスケープ エンコード URI 参照から判読可能な URI 参照へ変換できます。一部の予約文字が、ToString メソッドの出力でもエスケープされることがあるので注意してください。これは、ToString の戻り値から URI を明確に再作成するためです。
一部の URI には、フラグメント識別子とクエリの一方または両方が含まれています。フラグメント識別子とは、URI 上でシャープ記号 (#) の後に続く任意のテキストです。シャープ記号自体は、フラグメント識別子に含まれません。フラグメント テキストは、Fragment プロパティに格納されています。クエリ情報とは、URI 上で疑問符 (?) の後に続く任意のテキストです。クエリ テキストは Query プロパティに格納されています。
.NET Framework Version 1.1 では、コンストラクタに指定した文字列に不明なスキームや "c:\" が含まれていると、Uri クラスによってコロン (:) の後ろに "//" が挿入されます。たとえば、URI xyz:c:\abc は、xyz://c:/abc に変換されます。.NET Framework Version 2.0 では、この動作が廃止されているので、前述の文字列は xyz:c:/abc に変換されます。
メモ |
|---|
| URI クラスでは、IPv4 プロトコルのピリオド区切りの 10 進表記、および IPv6 プロトコルのコロン区切りの 16 進表記の、両方の IP アドレス形式を使用できます。なお、IPv6 アドレスの場合は、http://[::1] のように、角かっこで囲んでください。 |
パフォーマンスに関する考慮事項
URI を格納した Web.config ファイルを使用してアプリケーションを初期化する場合、その URI のスキーム ID が標準のスキーム ID でないと、URI の処理に不要な時間がかかります。その場合、アプリケーションの中で影響を受ける部分を、アプリケーションの起動時ではなく、その URI が必要とされるときに初期化します。
Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows CE プラットフォームメモ : .NET Compact Framework では、相対パスと絶対パスが区別されません。また、.NET Compact Framework では、file:// 形式で始まる URL の処理方法が完全版の .NET Framework とは異なります。file://myfile と相対的に指定すると、\\myfile として解決されます。file:///myfile ( 3 つのスラッシュ) を使用すると、ルート ディレクトリにある \myfile として解決されます。正常な操作を確保するには、絶対パス情報を指定してください。
使用例Uri クラスのインスタンスを作成し、このインスタンスを使用して WebRequest インスタンスを作成する例を次に示します。
Dim siteUri As New Uri("http://www.contoso.com/") Dim wr As WebRequest = WebRequest.Create(siteUri)
Uri siteUri = new Uri("http://www.contoso.com/"); WebRequest wr = WebRequest.Create(siteUri);
Uri^ siteUri = gcnew Uri( "http://www.contoso.com/" ); WebRequest^ wr = WebRequest::Create( siteUri );
Uri siteUri = new Uri("http://www.contoso.com/"); WebRequest wr = WebRequest.Create(siteUri);
var siteUri : Uri = new Uri("http://www.contoso.com/"); var wr : WebRequest = WebRequest.Create(siteUri);
継承階層System.Uri
スレッド セーフ
プラットフォームWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照Uri コンストラクタ (Uri, String)
アセンブリ: System (system.dll 内)
構文Dim baseUri As Uri Dim relativeUri As String Dim instance As New Uri(baseUri, relativeUri)
- baseUri
ベース URI。
例外| 例外の種類 | 条件 |
|---|---|
| uriString が null 参照 (Visual Basic では Nothing) です。 | |
| baseUri と relativeUri を組み合わせて作成された URI が空であるか、または空白文字だけが含まれています。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたスキームが無効です。 または baseUri と relativeUri を組み合わせて作成された URI のスラッシュが多すぎます。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたパスワードが無効です。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたホスト名が無効です。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたファイル名が無効です。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたユーザー名が無効です。 または baseUri と relativeUri を組み合わせて作成された URI で指定するホスト名または権限名の末尾には、円記号を使用できません。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたポート番号が無効であるか、または解析できません。 または baseUri と relativeUri を組み合わせて作成された URI の長さが 65534 文字を超えています。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたスキームの長さが 1023 文字を超えています。 または baseUri と relativeUri を組み合わせて作成された URI に無効な文字シーケンスが含まれています。 または |
解説このコンストラクタは、baseUri と relativeUri を組み合わせて Uri インスタンスを作成します。relativeUri が絶対 URI (スキーム、ホスト名を含み、任意でポート番号も含まれている URI) の場合は、relativeUri だけを使用して Uri インスタンスが作成されます。
使用例Uri クラスの新しいインスタンスを作成するために、http://www.contoso.com と catalog/showew.htm の 2 つの相対 URI を組み合わせて、http://www.contoso.com/catalog/shownew.htm という絶対 URI を作成する例を次に示します。
Dim baseUri As New Uri("http://www.contoso.com") Dim myUri As New Uri(baseUri, "catalog/shownew.htm") Console.WriteLine(myUri.ToString())
Uri baseUri = new Uri("http://www.contoso.com"); Uri myUri = new Uri(baseUri, "catalog/shownew.htm"); Console.WriteLine(myUri.ToString());
Uri^ baseUri = gcnew Uri( "http://www.contoso.com" ); Uri^ myUri = gcnew Uri( baseUri, "catalog/shownew.htm" ); Console::WriteLine( myUri->ToString() );
Uri baseUri = new Uri("http://www.contoso.com"); Uri myUri = new Uri(baseUri, "catalog/shownew.htm"); Console.WriteLine(myUri.ToString());
プラットフォームWindows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照Uri コンストラクタ (String, Boolean)
メモ : このコンストラクタは、互換性のために残されています。
指定した URI を使用し、明示的な文字エスケープ制御を使用して、Uri クラスの新しいインスタンスを初期化します。 名前空間: Systemアセンブリ: System (system.dll 内)
構文<ObsoleteAttribute("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")> _ Public Sub New ( _ uriString As String, _ dontEscape As Boolean _ )
Dim uriString As String Dim dontEscape As Boolean Dim instance As New Uri(uriString, dontEscape)
[ObsoleteAttribute("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")] public Uri ( string uriString, bool dontEscape )
[ObsoleteAttribute(L"The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")] public: Uri ( String^ uriString, bool dontEscape )
/** @attribute ObsoleteAttribute("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202") */ public Uri ( String uriString, boolean dontEscape )
ObsoleteAttribute("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202") public function Uri ( uriString : String, dontEscape : boolean )
- uriString
URI。
例外| 例外の種類 | 条件 |
|---|---|
| uriString が null 参照 (Visual Basic では Nothing) です。 | |
| uriString が空か、空白だけを含んでいます。 または または uriString に含まれているスラッシュが多すぎます。 または または または または または uriString に指定するホスト名または権限名の末尾には、円記号を使用できません。 または uriString に指定されたポート番号が無効であるか、解析できません。 または uriString の長さが 65534 文字を超えています。 または uriString に指定されたスキームの長さが 1023 文字を超えています。 または uriString に無効な文字シーケンスが含まれています。 または |
解説このコンストラクタは、URI 文字列から Uri インスタンスを作成します。URI を解析して正規書式に変換します。
dontEscape パラメータは、予約文字をエスケープ シーケンスに変換するかどうかを制御します。このパラメータは、URI のすべての予約文字がエスケープされていることが確実である場合だけに true に設定します。完全にエスケープされていない URL に対して値を true に設定すると、予測できない動作が発生する場合があります。このパラメータは常に false に設定することを強くお勧めします。
dontEscape を false に設定すると、コンストラクタは、すべてのパーセント記号 (%) の後に有効なエスケープ シーケンスが続いているかどうかを確認して、予約文字をすべてエスケープします。パーセント記号に続く文字シーケンスが有効でない場合は、パーセント記号が %25 に置き換えられます。
使用例http://www.contoso.com/Hello%20World.htm という URI から Uri インスタンスを作成する例を次に示します。格納されている URI が完全にエスケープされ、正規形式になっているので、dontEscape パラメータを true に設定できます。
プラットフォームWindows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報サポート対象 : 1.0、1.1
2.0 では、互換性のために残されています (コンパイル時に警告)
.NET Compact Framework
サポート対象 : 1.0
2.0 では、互換性のために残されています (コンパイル時に警告)
参照Uri コンストラクタ (SerializationInfo, StreamingContext)
アセンブリ: System (system.dll 内)
構文Protected Sub New ( _ serializationInfo As SerializationInfo, _ streamingContext As StreamingContext _ )
Dim serializationInfo As SerializationInfo Dim streamingContext As StreamingContext Dim instance As New Uri(serializationInfo, streamingContext)
protected Uri ( SerializationInfo serializationInfo, StreamingContext streamingContext )
protected: Uri ( SerializationInfo^ serializationInfo, StreamingContext streamingContext )
protected Uri ( SerializationInfo serializationInfo, StreamingContext streamingContext )
protected function Uri ( serializationInfo : SerializationInfo, streamingContext : StreamingContext )
- serializationInfo
新しい Uri インスタンスをシリアル化するために必要な情報を格納する SerializationInfo クラスのインスタンス。
解説このコンストラクタは、Uri クラスの ISerializable インターフェイスを実装します。
プラットフォームWindows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照Uri コンストラクタ (Uri, Uri)
アセンブリ: System (system.dll 内)
構文Dim baseUri As Uri Dim relativeUri As Uri Dim instance As New Uri(baseUri, relativeUri)
例外| 例外の種類 | 条件 |
|---|---|
| baseUri が null 参照 (Visual Basic では Nothing) です。 または | |
| baseUri と relativeUri を組み合わせて作成された URI が空であるか、または空白文字だけが含まれています。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたスキームが無効です。 または baseUri と relativeUri を組み合わせて作成された URI のスラッシュが多すぎます。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたパスワードが無効です。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたホスト名が無効です。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたファイル名が無効です。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたユーザー名が無効です。 または baseUri と relativeUri を組み合わせて作成された URI で指定するホスト名または権限名の末尾には、円記号を使用できません。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたポート番号が無効であるか、または解析できません。 または baseUri と relativeUri を組み合わせて作成された URI の長さが 65534 文字を超えています。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたスキームの長さが 1023 文字を超えています。 または baseUri と relativeUri を組み合わせて作成された URI に無効な文字シーケンスが含まれています。 または |
解説このコンストラクタでは、絶対 Uri インスタンス baseUri を相対 Uri インスタンス relativeUri と組み合わせて、新しい Uri インスタンスが作成されます。relativeUri が絶対 Uri のインスタンス (スキーム、ホスト名を含み、任意でポート番号も含まれている URI) の場合は、relativeUri だけを使用して Uri インスタンスが作成されます。
使用例この例では、絶対 Uri インスタンス absoluteUri と相対 Uri インスタンス relativeUri を作成します。新しい Uri インスタンス combinedUri は、これら 2 つのインスタンスから作成されます。
' Create an absolute Uri from a string. Dim absoluteUri As New Uri("http://www.contoso.com/") ' Create a relative Uri from a string. allowRelative = true to allow for ' creating a relative Uri. Dim relativeUri As New Uri("/catalog/shownew.htm?date=today") ' Check whether the new Uri is absolute or relative. If Not relativeUri.IsAbsoluteUri Then Console.WriteLine("{0} is a relative Uri.", relativeUri) End If ' Create a new Uri from an absolute Uri and a relative Uri. Dim combinedUri As New Uri(absoluteUri, relativeUri) Console.WriteLine(combinedUri.AbsoluteUri) End Sub 'SampleConstructor
// Create an absolute Uri from a string. Uri absoluteUri = new Uri("http://www.contoso.com/"); // Create a relative Uri from a string. allowRelative = true to allow for // creating a relative Uri. Uri relativeUri = new Uri("/catalog/shownew.htm?date=today", UriKind.Relative); // Check whether the new Uri is absolute or relative. if (!relativeUri.IsAbsoluteUri) Console.WriteLine("{0} is a relative Uri.", relativeUri); // Create a new Uri from an absolute Uri and a relative Uri. Uri combinedUri = new Uri(absoluteUri, relativeUri); Console.WriteLine(combinedUri.AbsoluteUri);
プラットフォームWindows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照Uri コンストラクタ (String, UriKind)
アセンブリ: System (system.dll 内)
構文Dim uriString As String Dim uriKind As UriKind Dim instance As New Uri(uriString, uriKind)
例外
解説相対 URI と絶対 URI では、形式に関する制限が異なります。たとえば、相対 URI にスキームや権限は必要ありません。uriKind に指定する値は、uriString に渡される URI の種類と一致する必要があります。ただし、RelativeOrAbsolute を指定する場合、URI 文字列には、相対 URI と絶対 URI のどちらも指定できます。
プラットフォームWindows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照Uri コンストラクタ
オーバーロードの一覧| 名前 | 説明 |
|---|---|
| Uri (String) | 指定した URI を使用して、Uri クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
| Uri (SerializationInfo, StreamingContext) | SerializationInfo クラスと StreamingContext クラスの指定したインスタンスから、Uri クラスの新しいインスタンスを初期化します。 |
| Uri (String, Boolean) | 指定した URI を使用し、明示的な文字エスケープ制御を使用して、Uri クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
| Uri (String, UriKind) | 指定した URI を使用して、Uri クラスの新しいインスタンスを初期化します。このコンストラクタでは、URI を相対 URI、絶対 URI、または不確定のいずれかに指定できます。 .NET Compact Framework によってサポートされています。 |
| Uri (Uri, String) | 指定したベース URI と相対 URI 文字列に基づいて、Uri クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
| Uri (Uri, Uri) | 指定したベース Uri のインスタンスと相対 Uri のインスタンスの組み合わせに基づいて、Uri クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
| Uri (Uri, String, Boolean) | 明示的な文字エスケープ制御を使用し、指定したベース URI と相対 URI に基づいて、Uri クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
参照Uri コンストラクタ (Uri, String, Boolean)
メモ : このコンストラクタは、互換性のために残されています。
明示的な文字エスケープ制御を使用し、指定したベース URI と相対 URI に基づいて、Uri クラスの新しいインスタンスを初期化します。 名前空間: Systemアセンブリ: System (system.dll 内)
構文<ObsoleteAttribute("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")> _ Public Sub New ( _ baseUri As Uri, _ relativeUri As String, _ dontEscape As Boolean _ )
Dim baseUri As Uri Dim relativeUri As String Dim dontEscape As Boolean Dim instance As New Uri(baseUri, relativeUri, dontEscape)
[ObsoleteAttribute("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")] public Uri ( Uri baseUri, string relativeUri, bool dontEscape )
[ObsoleteAttribute(L"The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")] public: Uri ( Uri^ baseUri, String^ relativeUri, bool dontEscape )
/** @attribute ObsoleteAttribute("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202") */ public Uri ( Uri baseUri, String relativeUri, boolean dontEscape )
ObsoleteAttribute("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202") public function Uri ( baseUri : Uri, relativeUri : String, dontEscape : boolean )
- baseUri
ベース URI。
例外| 例外の種類 | 条件 |
|---|---|
| uriString が null 参照 (Visual Basic では Nothing) です。 | |
| baseUri と relativeUri を組み合わせて作成された URI が空であるか、または空白文字だけが含まれています。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたスキームが無効です。 または baseUri と relativeUri を組み合わせて作成された URI のスラッシュが多すぎます。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたパスワードが無効です。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたホスト名が無効です。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたファイル名が無効です。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたユーザー名が無効です。 または baseUri と relativeUri を組み合わせて作成された URI で指定するホスト名または権限名の末尾には、円記号を使用できません。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたポート番号が無効であるか、または解析できません。 または baseUri と relativeUri を組み合わせて作成された URI の長さが 65534 文字を超えています。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたスキームの長さが 1023 文字を超えています。 または baseUri と relativeUri を組み合わせて作成された URI に無効な文字シーケンスが含まれています。 または |
解説このコンストラクタは、baseUri と relativeUri を組み合わせて Uri インスタンスを作成します。relativeUri に渡される URI が絶対 URI (スキーム、ホスト名を含み、任意でポート番号も含まれている URI) の場合は、relativeUri だけを使用して Uri インスタンスが作成されます。
dontEscape パラメータは、予約文字をエスケープ シーケンスに変換するかどうかを制御します。このパラメータは、URI のすべての予約文字がエスケープされていることが確実である場合だけに true に設定します。完全にエスケープされていない URL に対して値を true に設定すると、予測できない動作が発生する場合があります。このパラメータは常に false に設定することを強くお勧めします。dontEscape を false に設定すると、コンストラクタは、すべてのパーセント記号 (%) の後に有効なエスケープ シーケンスが続いているかどうかを確認して、予約文字をすべてエスケープします。パーセント記号に続く文字シーケンスが有効でない場合は、パーセント記号が %25 に置き換えられます。
このコンストラクタを使用しても、Uri によって参照されるリソースが確実にアクセス可能であるとは限りません。
呼び出し時の注意 セキュリティの問題があるため、信頼できないソースからの URI 文字列を指定し、dontEscape を true に設定した状態で、アプリケーションからこのコンストラクタを呼び出さないようにしてください。または、このコンストラクタを呼び出す前に IsWellFormedOriginalString メソッドを呼び出して、URI 文字列の有効性を検証できます。
使用例Uri クラスの新しいインスタンスを作成するために、http://www.contoso.com と Hello%20World.htm という 2 つの相対 URI を組み合わせて 1 つの絶対 URI が作成される例を次に示します。
Dim baseUri As New Uri("http://www.contoso.com") Dim myUri As New Uri(baseUri, "Hello%20World.htm", False)
Uri baseUri = new Uri("http://www.contoso.com"); Uri myUri = new Uri(baseUri, "Hello%20World.htm",false);
Uri^ baseUri = gcnew Uri( "http://www.contoso.com/" ); Uri^ myUri = gcnew Uri( baseUri,"Hello%20World.htm",false );
プラットフォームWindows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報サポート対象 : 1.0、1.1
2.0 では、互換性のために残されています (コンパイル時に警告)
.NET Compact Framework
サポート対象 : 1.0
2.0 では、互換性のために残されています (コンパイル時に警告)
参照Uri コンストラクタ (String)
アセンブリ: System (system.dll 内)
構文
例外| 例外の種類 | 条件 |
|---|---|
| uriString が null 参照 (Visual Basic では Nothing) です。 | |
| uriString が空です。 または uriString に指定されたスキームの形式が誤っています。詳細については、CheckSchemeName のトピックを参照してください。 または uriString に含まれているスラッシュが多すぎます。 または または または または または uriString に指定するホスト名または権限名の末尾には、円記号を使用できません。 または uriString に指定されたポート番号が無効であるか、解析できません。 または uriString の長さが 65534 文字を超えています。 または uriString に指定されたスキームの長さが 1023 文字を超えています。 または uriString に無効な文字シーケンスが含まれています。 または |
解説
使用例"http://www.contoso.com/" という URI を使用して Uri インスタンスを作成する例を次に示します。
プラットフォームWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照Uri フィールド
パブリック フィールド| 名前 | 説明 | |
|---|---|---|
| UriSchemeNntp | URI がインターネット ニュース グループであり、この URI へ NNTP (Network News Transport Protocol) 経由でアクセスすることを指定します。このフィールドは読み取り専用です。 |
参照Uri プロパティ
Uri メソッド
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| CheckHostName | 指定したホスト名が有効な DNS 名であるかどうかを判断します。 |
| CheckSchemeName | 指定したスキーム名が有効かどうかを判断します。 |
| Compare | 指定した比較規則を使用して、2 つの URI の指定部分を比較します。 |
| CreateObjRef | リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 ( MarshalByRefObject から継承されます。) |
| Equals | オーバーロードされます。 オーバーライドされます。 2 つの Uri インスタンスを比較し、相互に等価かどうかを判断します。 |
| EscapeDataString | 文字列をエスケープ表現に変換します。 |
| EscapeUriString | URI 文字列をエスケープ表現に変換します。 |
| FromHex | 16 進数の数字に対応する 10 進数値を返します。 |
| GetComponents | 指定した特殊文字エスケープを使用して、現在のインスタンスの指定した構成要素を取得します。 |
| GetHashCode | オーバーライドされます。 URI のハッシュ コードを返します。 |
| GetLeftPart | Uri インスタンスの指定部分を返します。 |
| GetLifetimeService | 対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 ( MarshalByRefObject から継承されます。) |
| GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
| HexEscape | 指定した文字を等価な 16 進数値に変換します。 |
| HexUnescape | 指定した 16 進数表現を文字に変換します。 |
| InitializeLifetimeService | 対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。 ( MarshalByRefObject から継承されます。) |
| IsBaseOf | 現在の Uri インスタンスが、指定した Uri のベースかどうかを判断します。 |
| IsHexDigit | 指定した文字が有効な 16 進数の数字かどうかを判断します。 |
| IsHexEncoding | 文字列内の文字が 16 進エンコードかどうかを判断します。 |
| IsWellFormedOriginalString | この Uri の作成に使用する文字列の形式が正しいかどうかを示します。 |
| IsWellFormedUriString | 文字列を使用して URI の作成を試行することによって、文字列の形式が正しいかどうかを示します。 |
| MakeRelative | 2 つの Uri インスタンスの相違点を判断します。 |
| MakeRelativeUri | 2 つの Uri インスタンスの相違点を判断します。 |
| op_Equality | 2 つの Uri インスタンスの値が同一かどうかを判断します。 |
| op_Inequality | 2 つの Uri インスタンスの値が同一でないかどうかを判断します。 |
| ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
| ToString | オーバーライドされます。 指定した Uri インスタンスの正規文字列形式を返します。 |
| TryCreate | オーバーロードされます。 新しい Uri を作成します。Uri を作成できない場合に、例外がスローされません。 |
| UnescapeDataString | 文字列をエスケープ解除された表現に変換します。 |
プロテクト メソッド| 名前 | 説明 | |
|---|---|---|
| Canonicalize | 内部的に格納された URI を正規形式に変換します。 |
| CheckSecurity | このメソッドを呼び出しても、何も効果はありません。 |
| Escape | パス構成要素内の安全でない文字または予約文字を 16 進の文字表現に変換します。 |
| EscapeString | 文字列をエスケープ表現に変換します。 |
| Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
| GetObjectData | 現在のインスタンスをシリアル化するために必要なデータを返します。 |
| IsBadFileSystemCharacter | 文字がファイル システム名として無効かどうかを示す Boolean 値を返します。 |
| IsExcludedCharacter | 指定した文字をエスケープするかどうかを表す Boolean を返します。 |
| IsReservedCharacter | 指定した文字が予約文字かどうかを表す Boolean を返します。 |
| MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
| Parse | 現在のインスタンスの URI を解析し、有効な URI で必要とされるすべての部分が含まれていることを確認します。 |
| Unescape | エスケープ シーケンスをエスケープ解除された形式に置換することによって、指定した文字列を変換します。 |
明示的インターフェイスの実装
参照Uri メンバ
URI (Uniform Resource Identifier) のオブジェクト表現を可能にし、URI の一部へ簡単にアクセスできるようにします。
パブリック コンストラクタ
プロテクト コンストラクタ
パブリック フィールド| 名前 | 説明 | |
|---|---|---|
| UriSchemeNntp | URI がインターネット ニュース グループであり、この URI へ NNTP (Network News Transport Protocol) 経由でアクセスすることを指定します。このフィールドは読み取り専用です。 |
パブリック プロパティ
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| CheckHostName | 指定したホスト名が有効な DNS 名であるかどうかを判断します。 |
| CheckSchemeName | 指定したスキーム名が有効かどうかを判断します。 |
| Compare | 指定した比較規則を使用して、2 つの URI の指定部分を比較します。 |
| CreateObjRef | リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 (MarshalByRefObject から継承されます。) |
| Equals | オーバーロードされます。 オーバーライドされます。 2 つの Uri インスタンスを比較し、相互に等価かどうかを判断します。 |
| EscapeDataString | 文字列をエスケープ表現に変換します。 |
| EscapeUriString | URI 文字列をエスケープ表現に変換します。 |
| FromHex | 16 進数の数字に対応する 10 進数値を返します。 |
| GetComponents | 指定した特殊文字エスケープを使用して、現在のインスタンスの指定した構成要素を取得します。 |
| GetHashCode | オーバーライドされます。 URI のハッシュ コードを返します。 |
| GetLeftPart | Uri インスタンスの指定部分を返します。 |
| GetLifetimeService | 対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。) |
| GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
| HexEscape | 指定した文字を等価な 16 進数値に変換します。 |
| HexUnescape | 指定した 16 進数表現を文字に変換します。 |
| InitializeLifetimeService | 対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。) |
| IsBaseOf | 現在の Uri インスタンスが、指定した Uri のベースかどうかを判断します。 |
| IsHexDigit | 指定した文字が有効な 16 進数の数字かどうかを判断します。 |
| IsHexEncoding | 文字列内の文字が 16 進エンコードかどうかを判断します。 |
| IsWellFormedOriginalString | この Uri の作成に使用する文字列の形式が正しいかどうかを示します。 |
| IsWellFormedUriString | 文字列を使用して URI の作成を試行することによって、文字列の形式が正しいかどうかを示します。 |
| MakeRelative | 2 つの Uri インスタンスの相違点を判断します。 |
| MakeRelativeUri | 2 つの Uri インスタンスの相違点を判断します。 |
| op_Equality | 2 つの Uri インスタンスの値が同一かどうかを判断します。 |
| op_Inequality | 2 つの Uri インスタンスの値が同一でないかどうかを判断します。 |
| ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
| ToString | オーバーライドされます。 指定した Uri インスタンスの正規文字列形式を返します。 |
| TryCreate | オーバーロードされます。 新しい Uri を作成します。Uri を作成できない場合に、例外がスローされません。 |
| UnescapeDataString | 文字列をエスケープ解除された表現に変換します。 |
プロテクト メソッド| 名前 | 説明 | |
|---|---|---|
| Canonicalize | 内部的に格納された URI を正規形式に変換します。 |
| CheckSecurity | このメソッドを呼び出しても、何も効果はありません。 |
| Escape | パス構成要素内の安全でない文字または予約文字を 16 進の文字表現に変換します。 |
| EscapeString | 文字列をエスケープ表現に変換します。 |
| Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
| GetObjectData | 現在のインスタンスをシリアル化するために必要なデータを返します。 |
| IsBadFileSystemCharacter | 文字がファイル システム名として無効かどうかを示す Boolean 値を返します。 |
| IsExcludedCharacter | 指定した文字をエスケープするかどうかを表す Boolean を返します。 |
| IsReservedCharacter | 指定した文字が予約文字かどうかを表す Boolean を返します。 |
| MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
| Parse | 現在のインスタンスの URI を解析し、有効な URI で必要とされるすべての部分が含まれていることを確認します。 |
| Unescape | エスケープ シーケンスをエスケープ解除された形式に置換することによって、指定した文字列を変換します。 |
明示的インターフェイスの実装
参照ウィキペディア |
Uniform Resource Identifier
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2011/05/05 08:27 UTC 版)
(Uri から転送)
Uniform Resource Identifier(ユニフォーム リソース アイデンティファイア、URI)または統一資源識別子(とういつしげんしきべつし)は、一定の書式によってリソース(資源)を指し示す識別子。1998年8月に RFC 2396 として規定され、2005年1月に RFC 3986 として改定された。URI はUniform Resource Locator (URL) の考え方を拡張したものである。
URI は http/https や ftp などのスキームで始まり、コロン (:) による区切りのあとにスキームごとに定義された書式によってリソースを示す。また、URIによって示されるリソースはコンピュータが扱うデータに限らず、人や会社、書籍などを示すことも可能である。
URIスキームはIANAによって登録されたものが公式なものとされている。irc や javascript のように未登録ではあるが広く使われているスキームも存在する。
目次 |
URL と URN
URI には、以下の2つのサブセットがある。
- Uniform Resource Locator (URL)
- リソースの「場所」を識別する。ネットワーク内の位置を示してリソースを同定する。
- Uniform Resource Name (URN)
- リソースの「名前」を識別する。もしネットワーク上にリソースが無くなっても、一意で永続的な識別を行えるようにする。例えば urn:ietf:rfc:2648 というURNは、RFC 2648への参照を示す。
ただし、W3Cが2001年9月に発表したRFC 3305[1]では、この考え方を古典的な見解としている。新しい考え方では、すべてを等しくURIととらえ、URLやURNといった語は非公式な表現とするとしている。RFC 3305においても同様の考え方が示されている。
関連項目
- Uniform Resource Locator (URL)
- Uniform Resource Name (URN)
- Internationalized Resource Identifier (IRI)
- Extensible Resource Identifier (XRI)
- 名前空間
- URLエンコード
参考資料
- RFC 2396 - Uniform Resource Identifiers (URI): Generic Syntax (旧)
- TS X 0097:2004 - 統一資源識別子(URI) 共通構文 標準仕様書(TS)
- RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax
- URI Schemes - IANAのURIスキーム登録簿
脚注
ウリ (曖昧さ回避)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2011/06/20 22:50 UTC 版)
(Uri から転送)
ウリ
- 瓜
- 売り
- うり
- 鈴木麗子(声優・歌手)の別名義。
- 우리(uri)朝鮮語で、「私たち・われわれ」という意味の言葉(朝鮮固有語)。
- אורי / Uri ユダヤ人の男性名。ユリ、ウーリーなどとも。
- Uri
| このページは曖昧さ回避のためのページです。一つの言葉や名前が二つ以上の意味や物に用いられている場合の水先案内のために、異なる用法を一覧にしてあります。お探しの用語に一番近い記事を選んで下さい。このページへリンクしているページを見つけたら、リンクを適切な項目に張り替えて下さい。 |
- URLとURIは何が違うの? どちらが正しい呼び方?INSIGHT NOW!
Uriに関係した商品
- ▼フェルトやレザーを重ねて描いた3Dデザイン▼THE ORIGINAL DAVID (オリジナル デイヴィッド) URI SCARF (MUSTARD) [マフラー/スカーフ/パッチワーク] [マスタード]UNEEK BASEMNT
- 【FUSO】 フロンガス分析器新冷媒対応プリンタ付[URI-700H]アドリフティングショッパーズ
- 【送料無料】 Uri Caine ウリケイン / Siren 【CD】HMV ローソンホットステーション R
.gif)