URIとは? わかりやすく解説

≪韓国語≫ウリ

別表記:ウリ、우리、uri

韓国語「ウリ」とは、「ウリ」の意味

韓国語の「ウリ」は、日本語で「私たち」という意味だ。また、「私たちの」「私の」という意味で使われる場合もある。相手との会話の中で「ウリ」を使う場合、相手との関係性が重要になってくる。親しい間柄であれば「ウリ」を使うことでさらにお互いの仲が深まっていく感じがあるが、まだ親しくないうちに「ウリ」を使ってしまうと馴れ馴れしいと思われる可能性があるため注意が必要だ。

「ウリ」という表現はフランクな言い方になるため、友達や年下の人に対して使われる場合が多い。年上の人や初対面の人などに対してかしこまった表現をしたい場合には「チョイ」という言い方になる。フランクな表現である「私」という意味の「ナ」を使う場面では「ウリ」、かしこまった表現である「私」という意味の「チョ」を使う場面では「チョイ」になると覚えておくと無難だと言える。「私たち」という意味での「ウリ」を使った表現でよく使われるフレーズとして、「私たちは〜です」の「ウリヌン〜イムニダ」が挙げられる。そして、「ウリ」を使った「私たちの」は「ウリエ」、「私たちが」は「ウリガ」、「私たちに」は「ウリエゲ」となる。

また、「私たちの」「私の」という意味での「ウリ」は、自分の身近なものについてを親しみを込めて呼ぶときなどに使える。例えば、お母さんのことを「ウリオンマ」と言ったり、自分の家のことを「ウリチブ」と言ったりもする。そして、韓国人が「韓国」と言う時に「ハングク」だけではなく、「国」という意味の「ナラ」をくっつけて「ウリナラ」と表現する場合がある。

韓国語「ウリ」のハングル表記

韓国語の「ウリ」は、ハングルで「우리」と表記し、短縮形にする場合は「우린」と表記する。かしこまった表現の「チョイ」は「저희」となる。「ウリ」を使った表現としてよく使われる「ウリヌン〜イムニダ」は「우리는 ~입니다」と表記する。また、「私たちの」は「우리의」、「私たちが」は「우리가」、「私たちに」は「우리에게」となる。そして、親しみを込めて使う「ウリオンマ」は「우리엄마」、「ウリチブ」は「우리집」、「韓国」が「우리나라」と表記する。

韓国語「ウリ」の発音

韓国語の「우리」は「ウリ」と発音し、短縮形にする場合の「우린」は「ウリン」となる。かしこまった表現の「저희」は「 ㅢ」の形に気をつけながら「チョイ」と発音する。「우리는 ~입니다」はパッチム「ㅂ」を「ム」と読み「ウリヌン〜イムニダ」となる。また、「우리의」は「ウリエ」、「우리가」は「ウリガ」、「우리에게」は「ウリエゲ」と発音する。

ユー‐アール‐アイ【URI】

読み方:ゆーあーるあい

《uniform resource identifier》情報資源の場所や名前、その属性を指定する記述方式。従来のURLを拡張したもので、コンピューターが扱うデータだけではなく、情報資源の名前と属性を指定するURNを含めた、より包括的な概念を表す。統一資源識別子。


URI (Uniform Resource Identifier)


URI

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

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

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

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

Uri クラス

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

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

<SerializableAttribute> _
Public Class Uri
    Implements ISerializable
[SerializableAttribute] 
public class Uri : ISerializable
[SerializableAttribute] 
public ref class Uri : ISerializable
/** @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 コンストラクタは次に示すステップを実行します。

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] のように、角かっこで囲んでください。

パフォーマンスに関する考慮事項

呼び出し時の注意 セキュリティ上の理由から、アプリケーションでは、dontEscape を true に設定して信頼関係のないソースから Uri インスタンスを受け入れる場合に、注意する必要があります。IsWellFormedOriginalString メソッドを呼び出して、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.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

uriString が null 参照 (Visual Basic では Nothing) です。

UriFormatException

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 に無効な文字シーケンスが含まれています。

または

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

解説解説

このコンストラクタは、baseUri と relativeUri を組み合わせて 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

uriString が null 参照 (Visual Basic では Nothing) です。

UriFormatException

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

または

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

または

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

または

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

または

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

または

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

または

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

または

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

または

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

または

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

または

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

または

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

または

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

解説解説
使用例使用例

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);
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

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

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

名前空間: System
アセンブリ: 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 クラスのインスタンス。

streamingContext

新しい Uri インスタンスに関連付けられているシリアル化ストリームのソースを格納する StreamingContext クラスのインスタンス。

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

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

baseUri が null 参照 (Visual Basic では Nothing) です。

または

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

UriFormatException

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 に無効な文字シーケンスが含まれています。

または

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

解説解説
使用例使用例

この例では、絶対 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 が格納されており、uriKind が Absolute です。

または

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 メンバ
System 名前空間

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

uriString が null 参照 (Visual Basic では Nothing) です。

UriFormatException

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 に無効な文字シーケンスが含まれています。

または

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

解説解説

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

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

uriString が null 参照 (Visual Basic では Nothing) です。

UriFormatException

uriString が空です。

または

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

または

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

または

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

または

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

または

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

または

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

または

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

または

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

または

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

または

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

または

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

または

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

解説解説
使用例使用例

"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 クラス
System 名前空間
UriBuilder

Uri メンバ

URI (Uniform Resource Identifier) のオブジェクト表現を可能にし、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 クラス
System 名前空間
UriBuilder

Uri

名前 ウーリー; ウリ; ユリ; ウーリ; ユーリ; ユリー

Uniform Resource Identifier

(URI から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/02/26 00:58 UTC 版)

Uniform Resource Identifier(ユニフォーム リソース アイデンティファイア、URI)とは、抽象的または物理的なリソースを識別するためのコンパクトな文字列のことである[1]。また、一定の書式によってリソース(資源)を指し示す識別子である[2]。統一資源識別子(とういつしげんしきべつし)とも[3]。

1998年8月に RFC 2396 として規定され、2005年1月に RFC 3986 として改定された。URI はUniform Resource Locator (URL) の考え方を拡張したものである。URIによって示されるリソースは限定されておらず、インターネット上に存在しない対象や抽象的な概念を示す場合もある[4]。

設計

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[5]内で、上記の考え方を古典的な見解とした。以降、従来のURLとURNとはすべて「URI」と呼ばれることになり、URLやURNといった語はW3Cによって非公式な表現とされた。

一方、2012年、WHATWGによって開始されたURL Standard(URLを標準化を目指す規格書)では、URIの概念を表す語に「URL」を用いている。規格書では、語「URL」を標準化した理由を二つ挙げている。一つ、URIとIRIは混同されやすく、いずれも同じアルゴリズムを用いている。そのため、それらを区別する利点がない。二つ、Google Trends(2025年時点)で「URI」と「URL」の二つの語を比較すると、「URL」の方が優位である。つまり、インターネット上では、「URL」という言葉を使用しているユーザーの方が多い[6]。

URL Standardでは、目標の1つとして RFC 3986 (URI) と RFC 3987 (IRI) に代わる標準になることを掲げている[7][6]。現在、唯一の標準には至っていないが、W3CのURL規格の公式ページでは、このURL Standardのスナップショットをワーキンググループノートとして公開している[8]。

共通構文

以下のURI共通構文はすべてのスキーム構文で扱うスーパーセットの定義である。なおこの節(下位含む)では2005年1月に発表された RFC 3986 [9]を主に出典とする。

URI = scheme:[//authority]path[?query][#fragment]

構文図(英語版)と各コンポーネントの解説は次の通り。

scheme(スキーム)
URIはこの「スキーム」と呼ばれる識別子から始まり、省略できない。階層的識別子(Hierarchical Identifiers)である:(コロン)はスキームの区切り文字でスキーム名の最後に挿入する。
スキーム名は文字で始まり、文字、数字、+(プラス記号)、-(ハイフン)、.(終止符)で構成される文字列となる。大文字と小文字を区別しないが、一貫性を保つために小文字の使用を推奨している。
authority(権限)
権限は//(ダブルスラッシュ)の区切り文字から始まる。userinfo(ユーザー情報)やhost(ホスト)の扱いは各スキームよって異なる。
URIの考案者であるティム・バーナーズ=リーは2009年10月12日(現地時間)、ニューヨーク・タイムズにて権限の区切り文字であるダブルスラッシュについて「必要ではないことが判明した」と述べている[10](※規格制定時に、ダブルスラッシュでとする必然性は無かったとの趣旨であり、制定済みの規格(発言当時の規格)において、これが無くとも問題はないという趣旨ではない。)。
path(パス)
URIに権限が含まれている場合、パスに文字がなくても/(スラッシュ)で始める必要があり、このことからパスを省略することはできない。権限が含まれていない場合は//で始めることはできない。さらに相対パスである場合は:から始めることはできない。パスに?(疑問符)、#(番号記号)を含む、あるいは末尾の場合、パスの終わりを示す。階層的(hierarchical)に構成されたデータが含まれ、階層は/で区切る。
query(クエリ)
クエリは?の区切り文字から始まり、#また末尾で終える。パスと違い、階層的なデータを含まない。RFC 3986、第3章4節において明確な構文は示されていない。
fragment(フラグメント、素片)
フラグメントは#の区切り文字から始まる。任意な扱いで、プライマリ(一次)リソースを参照し、セカンダリ(二次)リソースへ提供するフラグメント識別子を含む。クエリと同様に明確な構文は示されていない。
一例としてプライマリリソースがHTMLドキュメントの場合、要素のid属性に何かしらの値を指定し、フラグメントにも同様の値を指定することで、ウェブブラウザは表示の際にその要素の位置までスクロールする。ウィキペディアでは「アンカー」と呼ばれる機能が該当する。

予約文字とパーセントエンコーディング

予約文字(RFC 3986 第2章2節)
gen-delims : / ? # [ ] @ N/A
sub-delims ! $ & ' ( ) * + , ; =

上記で列挙した文字は、URI共通構文で区切りとして予約された文字(Reserved Characters)であるため、コンポーネント内で直接使用することはできない。なお[と](角括弧)はIPv6の区切り文字である。sub-delimsはURIスキームの仕様によって定義されることがある。

パーセントエンコーディング(Percent-Encoding)は上記で列挙した予約文字などをURIで使えるよう、別の形式に変換する。名前のとおり、パーセント記号%とオクテットを16進数で表現した文字を組み合わせた形式で表す。例えばスペース(空白)文字 をパーセントエンコーディングすると%20に変換される。

予約されていない文字(Unreserved Characters)は、制約がなく、コンポーネント内で自由に使える文字。予約されていない文字は次の通り(RFC 3986 第2章3節)。

なおチルダ~は古いURIの仕様によってしばしば%7eに変換されることがある。しかしチルダ含め、予約されていない文字の変換は本来必要ない。

http/httpsスキームの構文例

http/httpsスキームの構文を使った例[11]:

スキーム 権限 パス
https: // user:password@ www.example.com:123 /forum/questions/ ?tag=networking&order=newest #top
ユーザー情報 ホスト:ポート クエリ フラグメント

#共通構文と同じコンポーネントの解説は除く。

userinfo(ユーザー情報、認証情報)はホスト:ポートよりも先に記載する必要がある。開始の区切り文字はなく、@(アットマーク)で区切ることでユーザー情報の終わりを示す。ユーザー情報の形式はuser:passwordである。URIにユーザー情報が付加され、かつその情報が正しければウェブブラウザは認証ダイアログを表示せずプライベートページを表示させることができる。認証情報を平文で示すため、パスワードを含んだ認証情報は非推奨である。これはURL Standardでも同様である。

host(ホスト)はhttp/httpsスキームにおいて必要な権限であり、省略することはできない。port(ポート)はスキームのデフォルトポートであれば省略できる。

クエリはパスに対しての引数であるがその構文は明確に示されていない。一般的な利用法は、「名前」と「値」の組み合わせ(名前-値ペア(英語版)、またはキーペアなど)で扱われ、構文にするとkey=valueとなり、「名前」と「値」の間は=(イコール)で結ぶ。このペアが複数存在する場合、上記構文例のように&(アンパサンド)で繋げる。クエリはWebサーバーおよびクライアント側で処理できる。URL StandardではJavaScript上でクエリ文字列を簡単に扱えるようURLSearchParams()メソッドが実装されている[12]。

フラグメントはクライアントのみ影響する。URIを決定する際、アプリケーションはフラグメントを除外してからサーバーにリクエストを送る[13]。

公式登録のスキーム

IANAに登録されているスキームで、利用が続いている一部を掲載する[14]。

公式登録されているスキームのリスト[14]
スキーム 名称 仕様書・出典 構文 用途・備考
aaa RFC 6733
aaas RFC 6733
about アバウト RFC 6694 about://<token>[?query][#fragmen] 主にウェブブラウザの情報表示なとで用いられる。RFC 6694が定めるトークンはblankひとつのみであるが、固有機能は各トークンを参照し、処理することが推奨されている。
acap RFC 2244
acct RFC 7565
cap RFC 4324
cid コンテンツID(Content Identifier) RFC 2392 cid:<content-id> HTML形式の電子メールやMHTMLではMIMEマルチパートのコンテンツで指定されたContent-IDが存在している場合、ドキュメントからcidスキームを使うことで参照できる。
例:<img src="cid:example">
coap RFC 7252
coap+tcp RFC 8323
coap+ws RFC 8323
coaps RFC 7252
coaps+tcp RFC 8323
coaps+ws RFC 8323
crid RFC 4078
data データURI(データURL) RFC 2397 data:<mediatype(;parameter)>[;base64]<,data> メディアタイプで指定されたコンテンツをデータに添付することで、HTMLドキュメントなどから参照することができる。
コンテンツがプレーンテキスト以外ならBase64でエンコードする必要がある、
dav ウェブダブ(WebDAV) RFC 4918
dict RFC 2229
dns Domain Name System RFC 4501
example 例 RFC 7595 example:<foo> スキーム構文例のために登録されたスキーム。RFC 7595は新しいスキームを登録する手順やガイドラインである。
file file URI scheme(英語版) RFC 8089 file://[[userinfo@]<host>]</path> ホストのファイルパスを提示するスキーム。構文で示しているように、権限は認証情報が必要ない、かつローカルホストであれば省略できるため、file:///からパスが始まる。
ftp ファイル・トランスファー・プロトコル RFC 1738 #共通構文 参照
geo RFC 5870
go RFC 3368
gopher RFC 4266
h323 H.323 RFC 3508 h323:[<user>@]<host[:port]>[;url-parameter]
http
https
ハイパーテキスト・トランスファー・プロトコル RFC 7230
2章7節1項
および
2章7節2項
#http/httpsスキームの構文例 参照
iax RFC 5456
icap RFC 3507
im RFC 3860
imap RFC 5092
info RFC 4452
ipp RFC 3510
ipps RFC 7472
iris RFC 3981
iris.beep RFC 3983
iris.lwz RFC 4993
iris.xpc RFC 4992
iris.xpcs RFC 4992
ldap RFC 4516
leaptofrogans RFC 8589
mailto RFC 6068
mid RFC 2392
msrp RFC 4975
msrps RFC 4975
RFC 8873
mtqp RFC 3887
mupdate RFC 3656
news RFC 5538
nfs RFC 2224
ni RFC 6920
nih RFC 6920
nntp RFC 5538
opaquelocktoken RFC 4918
pkcs11 RFC 7512
pop RFC 2384
pres RFC 3859
reload RFC 6940
rtsp
rtspu
rtsps
リアルタイム・ストリーミング・プロトコル RFC 2326
RFC 7826
rtsp://<host[:port]>/path 通常rtspとrtspsの通信プロトコルはTCPであるが、rtspuはUDPとなる。
service RFC 2609
session RFC 6787
shttp RFC 2660
sieve RFC 5804
sip RFC 3261
sips RFC 3261
sms ショートメッセージサービス RFC 5724 sms://<recipient[,recipient...]>[?fields]
recipient = [+global-number]<local-number>
snmp RFC 4088
soap.beep RFC 4227
soap.beeps RFC 4227
stun RFC 7064
stuns RFC 7064
tag RFC 4151
tel 電話番号 RFC 3966
RFC 5341
tel:[+global-number]<local-number>
telnet RFC 4248
tftp RFC 3617
thismessage RFC 2557
tip RFC 2371
tn3270 RFC 6270
turn RFC 7065
turns RFC 7065
tv RFC 2838
urn RFC 8141
vemmi RFC 2122
vnc RFC 7869
ws
wss
WebSocket RFC 6455 ws://<host>[:port]<path>[?query] ポート番号のデフォルトはhttp/httpsと同様。
xcon RFC 6501
xcon-userid RFC 6501
xmlrpc.beep RFC 3529
xmlrpc.beeps RFC 3529
xmpp RFC 5122
z39.50r RFC 2056
z39.50s RFC 2056

一般的な非登録のスキーム

javascript
ウェブブラウザやHTMLドキュメントでJavaScriptを実行する手段として用いられている。ドラフト状態であったが2011年3月29日に期限切れを迎えた[15]。

プログラミング環境でのサポート

いくつかのプログラミング言語や環境では、ネットワーク通信などでURIを扱う際に便利なクラスライブラリなどが標準的に用意されている。Javaではjava.net.URIが、.NETではSystem.Uri[16]が用意されている。Androidではandroid.net.Uriクラスが用意されている[17]。通例、ネットワークリソースだけでなく、ローカルのファイルシステム上におけるリソースを統一的に指し示す目的でも使用される。

関連項目

脚注

  1. ^ Stallings, William (2016). Foundations of modern networking : SDN, NFV, QoE, IoT, and Cloud. Florence Agboma, Sofiene Jelassi. Indianapolis, Indiana. ISBN 978-0-13-417547-8. OCLC 927715441. https://www.worldcat.org/oclc/927715441 
  2. ^ Uniform Resource Identifier (URI): Generic Syntax (英語). January 2005. doi:10.17487/RFC3986. RFC 3986.
  3. ^ JIS X 4159:2005「拡張可能なマーク付け言語 (XML) 1.0」(日本産業標準調査会、経済産業省) 9頁
  4. ^ “Overview of URIs”. Uniform Resource Identifier (URI): Generic Syntax (英語). sec. 1.1. doi:10.17487/RFC3986. RFC 3986.
  5. ^ RFC 3305 - URIs, URLs, and URNs: Clarifications and Recommendations 1.0
  6. ^ a b “URL Standard (日本語訳) 目標” (jp) (2017年6月1日). 2025年6月23日閲覧。
  7. ^ “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.”
  8. ^ “URL: W3C Working Group Note 06 December 2016”. W3C (2017年3月7日). 2025年7月31日閲覧。
  9. ^ Berners-Lee, Tim; Fielding, Roy T.; Masinter, Larry M. (2005-01). Uniform Resource Identifier (URI): Generic Syntax. https://datatracker.ietf.org/doc/rfc3986/. 
  10. ^ “The Web’s Inventor Regrets One Small Thing” (英語). ニューヨーク・タイムズ. (2009年10月12日). https://archive.nytimes.com/bits.blogs.nytimes.com/2009/10/12/the-webs-inventor-regrets-one-small-thing/ 2021年8月31日閲覧。 
  11. ^ “ウェブ上のリソースの識別”. MDN Web Docs. Mozilla. 2021年9月5日閲覧。
  12. ^ “URLSearchParams”. MDN Web Docs. Mozilla. 2021年8月31日閲覧。
  13. ^ RFC 7230 参照
  14. ^ a b “Uniform Resource Identifier (URI) Schemes” (英語). IANA. 2021年9月1日閲覧。
  15. ^ “draft-hoehrmann-javascript-scheme-03” (英語). Internet Engineering Task Force (2010年9月25日). 2021年9月8日閲覧。
  16. ^ Uri Class (System) | Microsoft Learn
  17. ^ Uri  |  Android Developers

参考資料


「URI」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「URI」の関連用語

URIのお隣キーワード
検索ランキング

   

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



URIのページの著作権

   
実用日本語表現辞典実用日本語表現辞典
Copyright © 2026実用日本語表現辞典 All Rights Reserved.
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2026 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【URI】の記事を利用しております。
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 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の元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2026 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2026 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2026 GRAS Group, Inc.RSS