URIとは?

URI (Uniform Resource Identifier)

要素または属性一意識別する数値または名前。URI には、URN (Uniform Resource Name) と URL (Uniform Resource Locator) の両方が含まれます。

URI は、インターネット上でリソース検索するための一般的な方式で、場所よりもリソースの方に重点を置いています。理論的には、URI は、ミラー化されているドキュメントのうちから最も近い場所にあるコピー見つけたり、あるサイトから別のサイト移動されたドキュメント検索したりできます

将来的には、URN の方が一般的になると予想されていますが、現時点XML について説明するときは、ほとんどの場合 URI は URL を意味しています。

URI

フルスペル:Uniform Resource Identifier
読み方ユーアールアイ

URIとは、インターネット上に存在する文書画像などの情報資源リソース)の場所を特定、あるいは識別するための記述方式のことである。いわばインターネットにおける住所であり、現在インターネット広く用いられるURLUniform Resource Locator)を包括する概念である。

URIは、URL加えてISBNなどの永続性の強い記述様式であるURNUniform Resource Name)を含んだ上位概念としての記述様式であるといえるそもそもURLは公式な呼び名ではなくWWW標準化団体であるW3CHTML 4.0やISO-HTMLなどの仕様書ではURIの用語を用い始めていることなどから、徐々にURLに代わってURIが一般的な呼び名となりつつある。

インターネットのほかの用語一覧
WWW:  リダイレクト  セマンティックWeb  デッドリンク  URI  Webサイト  Webページ  WWW

Uri クラス

URI (Uniform Resource Identifier) のオブジェクト表現を可能にし、URI の一部へ簡単にアクセスできるようにします。

名前空間: System
アセンブリ: System (system.dll 内)
構文構文

解説解説

URI は、アプリケーション使用できるイントラネットまたはインターネット上のリソース簡潔に表す記述方式です。Uri クラスは、URI の解析比較結合などの URI 処理のためのプロパティメソッドを定義します。Uri クラスプロパティ読み取り専用です。変更可能なオブジェクト作成するには、UriBuilder クラス使用します。

"/new/index.htm" などの相対 URI は、ベース URI を基準にして展開し、絶対 URI に変換する必要があります。MakeRelative メソッドは、必要に応じて絶対 URI を相対 URI に変換するメソッドです。

エスケープ シーケンス含まれるスキーム ID を含む正し形式の URI 文字列場合Uri コンストラクタではこの文字列をエスケープできません。

Uriプロパティは、標準データ形式エスケープ エンコーディング返します。このとき、127 より大きい Unicodeの文字はすべて、それと等価16 進数値に置換されます。URI を正規形式で格納するため、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 が必要とされるときに初期化します。

呼び出し時の注意 セキュリティ上の理由から、アプリケーションでは、dontEscapetrue設定して信頼関係のないソースから Uri インスタンス受け入れ場合に、注意する必要があります。IsWellFormedOriginalString メソッド呼び出して、URI 文字列有効性チェックできます

Windows Mobile for Pocket PCWindows Mobile for SmartphoneWindows 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.Object
  System.Uri
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Uri コンストラクタ (Uri, String)

指定したベース URI と相対 URI 文字列基づいてUri クラス新しインスタンス初期化します。

名前空間: System
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    baseUri As Uri, _
    relativeUri As String _
)
Dim baseUri As Uri
Dim relativeUri As String

Dim instance As New Uri(baseUri,
 relativeUri)
public Uri (
    Uri baseUri,
    string relativeUri
)
public:
Uri (
    Uri^ baseUri, 
    String^ relativeUri
)
public Uri (
    Uri baseUri, 
    String relativeUri
)
public function Uri (
    baseUri : Uri, 
    relativeUri : String
)

パラメータ

baseUri

ベース URI。

relativeUri

ベース URI に追加する相対 URI。

例外例外
例外種類条件

ArgumentNullException

uriStringnull 参照 (Visual Basic では Nothing) です。

UriFormatException

baseUrirelativeUri組み合わせ作成された URI が空であるか、または空白文字だけが含まれています。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたスキーム無効です。

または

baseUrirelativeUri組み合わせ作成された URI のスラッシュが多すぎます。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたパスワード無効です。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたホスト名無効です。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたファイル名無効です。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたユーザー名無効です。

または

baseUrirelativeUri組み合わせ作成された URI で指定するホスト名または権限名の末尾には、円記号使用できません。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたポート番号無効であるか、または解析できません。

または

baseUrirelativeUri組み合わせ作成された URI の長さが 65534 文字を超えています。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたスキーム長さ1023 文字を超えています。

または

baseUrirelativeUri組み合わせ作成された URI に無効文字シーケンスが含まれています。

または

uriString指定する MS-DOS パスは、c:\\ で始める必要があります

解説解説

このコンストラクタは、baseUrirelativeUri組み合わせUri インスタンス作成します。relativeUri絶対 URI (スキームホスト名含み任意ポート番号も含まれている URI) の場合は、relativeUri だけを使用して Uri インスタンス作成されます。

このコンストラクタ使用しても、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());
var baseUri : Uri = new Uri("http://www.contoso.com");
var myUri : Uri = new Uri(baseUri, "catalog/shownew.htm");
Console.WriteLine(myUri.ToString());
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

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。

dontEscape

uriString が完全にエスケープされている場合true。それ以外の場合false解説参照してください

例外例外
例外種類条件

ArgumentNullException

uriStringnull 参照 (Visual Basic では Nothing) です。

UriFormatException

uriString が空か、空白だけを含んでいます。

または

uriString指定されたスキーム無効です。

または

uriString に含まれているスラッシュが多すぎます。

または

uriString指定されたパスワード無効です。

または

uriString指定されたホスト名無効です。

または

uriString指定されたファイル名無効です。

または

uriString指定されたユーザー名無効です。

または

uriString指定するホスト名または権限名の末尾には、円記号使用できません。

または

uriString指定されたポート番号無効であるか、解析できません。

または

uriString長さが 65534 文字を超えています。

または

uriString指定されたスキーム長さ1023 文字を超えています。

または

uriString無効文字シーケンスが含まれています。

または

uriString指定する MS-DOS パスは、c:\\ で始める必要があります

解説解説

このコンストラクタは、URI 文字列から Uri インスタンス作成します。URI を解析して正規書式変換します。

dontEscape パラメータは、予約文字エスケープ シーケンス変換するかどうか制御します。このパラメータは、URI のすべての予約文字がエスケープされていることが確実である場合だけに true設定します。完全にエスケープされていない URL に対して値を true設定すると、予測できない動作発生する場合あります。このパラメータは常に false設定することを強くお勧めします。

dontEscapefalse設定すると、コンストラクタは、すべてのパーセント記号 (%) の後に有効なエスケープ シーケンス続いているかどうか確認して、予約文字をすべてエスケープします。パーセント記号に続く文字シーケンスが有効でない場合は、パーセント記号が %25置き換えられます。

このコンストラクタ使用しても、Uri によって参照されるリソース確実にアクセス可能であるとは限りません。

使用例使用

http://www.contoso.com/Hello%20World.htm という URI から Uri インスタンス作成する例を次に示します。格納されている URI が完全にエスケープされ、正規形になっているので、dontEscape パラメータtrue設定できます

Dim myUri As New Uri("http://www.contoso.com/Hello%20World.htm",
 True)

Uri myUri = new Uri("http://www.contoso.com/Hello%20World.htm",
 true);

Uri^ myUri = gcnew Uri(  "http://www.contoso.com/Hello%20World.htm",true
 );
Uri myUri = new Uri("http://www.contoso.com/Hello%20World.htm",
 true);
var myUri : Uri = new Uri("http://www.contoso.com/Hello%20World.htm",
 true);
プラットフォームプラットフォーム
バージョン情報バージョン情報
.NET Framework
サポート対象 : 1.0、1.1
2.0 では、互換性のために残されています (コンパイル時に警告)
.NET Compact Framework
サポート対象 : 1.0
2.0 では、互換性のために残されています (コンパイル時に警告)
参照参照

Uri コンストラクタ (SerializationInfo, StreamingContext)

SerializationInfo クラスStreamingContext クラス指定したインスタンスから、Uri クラス新しインスタンス初期化します。

名前空間: System
アセンブリ: System (system.dll 内)
構文構文

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Uri コンストラクタ (Uri, Uri)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

指定したベース Uriインスタンス相対 Uriインスタンス組み合わせ基づいてUri クラス新しインスタンス初期化します。

名前空間: System
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    baseUri As Uri, _
    relativeUri As Uri _
)
Dim baseUri As Uri
Dim relativeUri As Uri

Dim instance As New Uri(baseUri,
 relativeUri)
public Uri (
    Uri baseUri,
    Uri relativeUri
)
public:
Uri (
    Uri^ baseUri, 
    Uri^ relativeUri
)
public Uri (
    Uri baseUri, 
    Uri relativeUri
)
public function Uri (
    baseUri : Uri, 
    relativeUri : Uri
)

パラメータ

baseUri

新しい Uri インスタンスベースとなる絶対 Uri

relativeUri

baseUri組み合わせる相対 Uri インスタンス

例外例外
例外種類条件

ArgumentException

baseUrinull 参照 (Visual Basic では Nothing) です。

または

baseUri は、絶対 Uriインスタンスではありません。

UriFormatException

baseUrirelativeUri組み合わせ作成された URI が空であるか、または空白文字だけが含まれています。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたスキーム無効です。

または

baseUrirelativeUri組み合わせ作成された URI のスラッシュが多すぎます。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたパスワード無効です。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたホスト名無効です。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたファイル名無効です。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたユーザー名無効です。

または

baseUrirelativeUri組み合わせ作成された URI で指定するホスト名または権限名の末尾には、円記号使用できません。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたポート番号無効であるか、または解析できません。

または

baseUrirelativeUri組み合わせ作成された URI の長さが 65534 文字を超えています。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたスキーム長さ1023 文字を超えています。

または

baseUrirelativeUri組み合わせ作成された URI に無効文字シーケンスが含まれています。

または

uriString指定する MS-DOS パスは、c:\\ で始める必要があります

解説解説

このコンストラクタでは、絶対 Uri インスタンス baseUri相対 Uri インスタンス relativeUri組み合わせて、新しUri インスタンス作成されます。relativeUri絶対 Uriインスタンス (スキームホスト名含み任意ポート番号も含まれている URI) の場合は、relativeUri だけを使用して Uri インスタンス作成されます。

このコンストラクタ使用しても、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);
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Uri コンストラクタ (String, UriKind)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

指定した URI を使用して、Uri クラス新しインスタンス初期化します。このコンストラクタでは、URI を相対 URI、絶対 URI、または不確定いずれかに指定できます

名前空間: System
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    uriString As String, _
    uriKind As UriKind _
)
Dim uriString As String
Dim uriKind As UriKind

Dim instance As New Uri(uriString,
 uriKind)
public Uri (
    string uriString,
    UriKind uriKind
)
public:
Uri (
    String^ uriString, 
    UriKind uriKind
)
public Uri (
    String uriString, 
    UriKind uriKind
)
public function Uri (
    uriString : String, 
    uriKind : UriKind
)

パラメータ

uriString

Uri インスタンスで表されるリソースを表す文字列。

uriKind

URI 文字列相対 URI、絶対 URI、または不確定のいずれであるかを指定します。

例外例外
例外種類条件

UriFormatException

uriString相対 URI が格納されており、uriKindAbsolute です。

または

uriString絶対 URI が格納されており、uriKind が Relative です。

解説解説

相対 URI と絶対 URI では、形式に関する制限異なります。たとえば、相対 URI にスキーム権限は必要ありません。uriKind指定する値は、uriString に渡される URI の種類一致する必要があります。ただし、RelativeOrAbsolute を指定する場合、URI 文字列には、相対 URI と絶対 URI のどちらも指定できます

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Uri コンストラクタ

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。

relativeUri

ベース URI に追加する相対 URI。

dontEscape

uriString が完全にエスケープされている場合true。それ以外の場合false解説参照してください

例外例外
例外種類条件

ArgumentNullException

uriStringnull 参照 (Visual Basic では Nothing) です。

UriFormatException

baseUrirelativeUri組み合わせ作成された URI が空であるか、または空白文字だけが含まれています。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたスキーム無効です。

または

baseUrirelativeUri組み合わせ作成された URI のスラッシュが多すぎます。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたパスワード無効です。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたホスト名無効です。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたファイル名無効です。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたユーザー名無効です。

または

baseUrirelativeUri組み合わせ作成された URI で指定するホスト名または権限名の末尾には、円記号使用できません。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたポート番号無効であるか、または解析できません。

または

baseUrirelativeUri組み合わせ作成された URI の長さが 65534 文字を超えています。

または

baseUrirelativeUri組み合わせ作成された URI に指定されたスキーム長さ1023 文字を超えています。

または

baseUrirelativeUri組み合わせ作成された URI に無効文字シーケンスが含まれています。

または

uriString指定する MS-DOS パスは、c:\\ で始める必要があります

解説解説

このコンストラクタは、baseUrirelativeUri組み合わせUri インスタンス作成します。relativeUri に渡される URI が絶対 URI (スキームホスト名含み任意ポート番号も含まれている URI) の場合は、relativeUri だけを使用して Uri インスタンス作成されます。

dontEscape パラメータは、予約文字エスケープ シーケンス変換するかどうか制御します。このパラメータは、URI のすべての予約文字がエスケープされていることが確実である場合だけに true設定します。完全にエスケープされていない URL に対して値を true設定すると、予測できない動作発生する場合あります。このパラメータは常に false設定することを強くお勧めします。dontEscapefalse設定すると、コンストラクタは、すべてのパーセント記号 (%) の後に有効なエスケープ シーケンス続いているかどうか確認して、予約文字をすべてエスケープします。パーセント記号に続く文字シーケンスが有効でない場合は、パーセント記号が %25置き換えられます。

このコンストラクタ使用しても、Uri によって参照されるリソース確実にアクセス可能であるとは限りません。

呼び出し時の注意 セキュリティ問題があるため、信頼できないソースからの URI 文字列指定し、dontEscapetrue設定した状態で、アプリケーションからこのコンストラクタ呼び出さないようにしてください。または、このコンストラクタ呼び出す前に 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
 );
Uri baseUri = new Uri("http://www.contoso.com");
Uri myUri = new Uri(baseUri, "Hello%20World.htm", false);
var baseUri : Uri = new Uri("http://www.contoso.com");
var myUri : Uri = new Uri(baseUri, "Hello%20World.htm"
,false);
プラットフォームプラットフォーム
バージョン情報バージョン情報
.NET Framework
サポート対象 : 1.0、1.1
2.0 では、互換性のために残されています (コンパイル時に警告)
.NET Compact Framework
サポート対象 : 1.0
2.0 では、互換性のために残されています (コンパイル時に警告)
参照参照

Uri コンストラクタ (String)

指定した URI を使用して、Uri クラス新しインスタンス初期化します。

名前空間: System
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    uriString As String _
)
Dim uriString As String

Dim instance As New Uri(uriString)
public Uri (
    string uriString
)
public:
Uri (
    String^ uriString
)
public Uri (
    String uriString
)
public function Uri (
    uriString : String
)

パラメータ

uriString

URI。

例外例外
例外種類条件

ArgumentNullException

uriStringnull 参照 (Visual Basic では Nothing) です。

UriFormatException

uriString が空です。

または

uriString指定されたスキーム形式誤っています。詳細については、CheckSchemeName のトピック参照してください

または

uriString に含まれているスラッシュが多すぎます。

または

uriString指定されたパスワード無効です。

または

uriString指定されたホスト名無効です。

または

uriString指定されたファイル名無効です。

または

uriString指定されたユーザー名無効です。

または

uriString指定するホスト名または権限名の末尾には、円記号使用できません。

または

uriString指定されたポート番号無効であるか、解析できません。

または

uriString長さが 65534 文字を超えています。

または

uriString指定されたスキーム長さ1023 文字を超えています。

または

uriString無効文字シーケンスが含まれています。

または

uriString指定する MS-DOS パスは、c:\\ で始める必要があります

解説解説

このコンストラクタは、URI 文字列から Uri インスタンス作成します。URI を解析し、正規書式変換し、必要なエスケープ エンコーディング記述します。

このコンストラクタ使用しても、Uri によって参照されるリソース確実にアクセス可能であるとは限りません。

使用例使用

"http://www.contoso.com/" という URI を使用して Uri インスタンス作成する例を次に示します。

Dim myUri As New Uri("http://www.contoso.com/")

Uri myUri = new Uri("http://www.contoso.com/");

Uri^ baseUri = gcnew Uri( "http://www.contoso.com/" );
Uri myUri = new Uri("http://www.contoso.com/");
var myUri : Uri = new Uri("http://www.contoso.com/");
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Uri フィールド


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 エスケープ シーケンスエスケープ解除された形式置換することによって、指定した文字列変換します。
明示的インターフェイスの実装明示インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Runtime.Serialization.ISerializable.GetObjectData 現在のインスタンスシリアル化するために必要なデータ返します。
参照参照

Uri メンバ

URI (Uniform Resource Identifier) のオブジェクト表現を可能にし、URI の一部へ簡単にアクセスできるようにします。

Uri データ型公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
プロテクト コンストラクタプロテクト コンストラクタ
  名前 説明
プロテクト メソッド Uri オーバーロードされます。 Uri クラス新しインスタンス初期化します。
パブリック フィールドパブリック フィールド
  名前 説明
パブリック フィールド UriSchemeNntp URI がインターネット ニュース グループであり、この URI へ NNTP (Network News Transport Protocol) 経由アクセスすることを指定します。このフィールド読み取り専用です。
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ UserInfo 指定した 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 エスケープ シーケンスエスケープ解除された形式置換することによって、指定した文字列変換します。
明示的インターフェイスの実装明示インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Runtime.Serialization.ISerializable.GetObjectData 現在のインスタンスシリアル化するために必要なデータ返します。
参照参照

Uniform Resource Identifier

(URI から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/08/30 19:21 UTC 版)

ナビゲーションに移動 検索に移動

統一資源識別子[1](とういつしげんしきべつし,: Uniform Resource Identifier; URI)は、一定の書式によってリソース(資源)を指し示す識別子1998年8月に RFC 2396 として規定され、2005年1月に RFC 3986 として改定された。URI はUniform Resource Locator (URL) の考え方を拡張したものである。

URI は http/httpsftp などのスキームで始まり、コロン (:) による区切りのあとにスキームごとに定義された書式によってリソースを示す。また、URIによって示されるリソースはコンピュータが扱うデータに限らず、人や会社、書籍などを示すことも可能である。

URIスキームはIANAによって登録されたものが公式なものとされている。その一方で、 javascript のように未登録ではあるが広く使われているスキームも存在する。

URL と URN

URI, URL, URN の集合図

URI には、以下の2つのサブセットがある。

Uniform Resource Locator (URL)
リソースの「場所」を識別する。ネットワーク内の位置を示してリソースを同定する。
Uniform Resource Name (URN)
リソースの「名前」を識別する。もしネットワーク上にリソースが無くなっても、一意で永続的な識別を行えるようにする。例えば urn:ietf:rfc:2648 というURNは、RFC 2648への参照を示す。

2001年、W3CはRFC 3305[2]内で、上記の考え方を古典的な見解とした。ここで示されたW3Cの新たな考え方により、従来のURLとURNとはすべてURIと呼ばれることになった。URLやURNといった語はW3Cによって非公式な表現とされた。

2012年、WHATWGによってURL Standardの開発が開始された。URL Standardでは、目標の1つとしてRFC 3986 (URI)とRFC 3987 (IRI)を過去のものにすることを掲げている[3][4]。また、従来のURIやIRIを区別する必要が無いとして、すべてURLの語を用いている。さらに、W3Cでも、このURL Standardのスナップショットをワーキンググループノートとして公開している。

関連項目

参考資料

脚注

[ヘルプ]
  1. ^ JIS X 4159:2005「拡張可能なマーク付け言語 (XML) 1.0」 9頁
  2. ^ RFC 3305 - URIs, URLs, and URNs: Clarifications and Recommendations 1.0
  3. ^ URL Standard Goals” (英語). WHATWG (2017年6月23日). 2017年6月23日閲覧。 “Align RFC 3986 and RFC 3987 with contemporary implementations and obsolete them in the process.”
  4. ^ URL Standard (日本語訳) 目標” (2017年6月1日). 2017年6月23日閲覧。 “RFC 3986RFC 3987 を現今の実装に揃わせて、その過程の中でそれらを過去のものにする。”

ウリ (曖昧さ回避)

(URI から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/03/16 14:45 UTC 版)

ナビゲーションに移動 検索に移動

ウリ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「URI」の関連用語

URIのお隣キーワード

   

英語⇒日本語
日本語⇒英語
   



URIのページの著作権
Weblio 辞書情報提供元は参加元一覧にて確認できます。

  
三省堂三省堂
Copyright (C) 2001-2019 Sanseido Co.,Ltd. All rights reserved.
株式会社 三省堂三省堂 Web Dictionary
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2019 Microsoft.All rights reserved.
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2019 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリURIの記事を利用しております。
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2019 Microsoft.All rights reserved.
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのUniform Resource Identifier (改訂履歴)、ウリ (曖昧さ回避) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2019 Weblio RSS