Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

URN(ユーアールエヌ)とは | 意味や読み方など丁寧でわかりやすい用語解説

URN(ユーアールエヌ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

統一資源名 (トウイツシゲンメイ)

英語表記

Uniform Resource Name (ユニフォーム・リソース・ネーム)

用語解説

URN(Uniform Resource Name)は、インターネット上に存在する特定のリソースを一意に識別するための名前である。URI(Uniform Resource Identifier)の一種であり、「何を」識別するかというリソースの名称そのものを表現する。その最大の目的は、リソースの場所やアクセス方法に依存しない、永続的な識別子を提供することにある。

詳細として、URNがどのようなものか、URLとの違いやその特徴、利用場面について説明する。

まず、URNはリソースの「名前」を示す。例えば、書籍のISBNコードや、ある特定の文書のUUID(Universally Unique Identifier)などがURNの概念に近い。これらの識別子は、その書籍や文書がどのサーバーに保存されているか、どのようなプロトコルでアクセスできるかといった場所やアクセス方法の情報を含んでいない。ただ、そのリソースが「何であるか」を一意に識別するための名前として機能する。この名前は、リソースが別のサーバーに移されたり、アクセス方法が変わったりしても、そのリソース自身が変化しない限り不変である。これがURNの提供する永続性である。

URIは、インターネット上のリソースを一意に識別するための汎用的な文字列の総称であり、URL(Uniform Resource Locator)とURN、そしてあまり使われないURC(Uniform Resource Characteristics)の三つのカテゴリに分類される。URLはリソースの「場所」を示し、URNはリソースの「名前」を示すと理解すると良い。

URNとURLの具体的な違いは、初心者が混同しやすい点であるため、さらに詳しく解説する。URLは、リソースがどこにあり、どのようにアクセスできるかを明示する。例えば、「http://www.example.com/documents/report.pdf」というURLは、httpプロトコルを使ってwww.example.comというホストの/documents/report.pdfというパスにあるPDFファイルにアクセスできることを示す。もしこのPDFファイルが別のサーバーに移されたり、ファイル名が変わったりすれば、このURLは無効となる。つまり、URLはリソースの場所が変更されれば変化する可能性がある、一時的な識別子である。

これに対し、URNはリソースの「名前」であるため、リソースの場所やアクセス方法が変更されても、そのリソース自体が変わらない限り、URNは不変である。例えば、「urn:isbn:0451450523」というURNは、特定のISBNを持つ書籍を指す。このISBNは、その書籍がどの書店に置かれていても、オンラインで販売されていても、図書館に所蔵されていても変わらない。リソースが物理的にどこにあろうと、その名前は常に同じである。

URNの主な利点は、この永続性と不変性にある。これにより、リソースへの参照が時間が経過しても壊れにくくなる。これは特に、学術論文や著作物など、長期にわたって参照されるべきデジタルコンテンツの識別において非常に重要である。また、グローバルに一意な名前を提供するため、異なるシステムや組織間でリソースを確実に参照できる共通の基盤を提供する。

しかし、URNには課題もある。URN自体はリソースの場所を示すものではないため、URNが指すリソースに実際にアクセスするには、別途「名前解決サービス(URNリゾルバー)」が必要となる。これは、URNを与えられたときに、そのリソースへのアクセス可能なURLなどの情報を返してくれる仕組みである。URLがウェブブラウザなどで直接アクセスできるのに対し、URNはそのまますぐにリソースに辿り着けるわけではない。この名前解決サービスの普及が、URNの広範な利用を制限している側面もある。現在のインターネットでは、URLがリソース識別子の主流であり、URNは特定の分野や用途で利用されることが多い。

URNの構文は、一般的に「urn:<NID>:<NSS>」という形式を取る。「urn:」はURNであることを示すスキーマ名であり、常にこれで始まる。「<NID>」(Namespace Identifier)は、そのURNがどの名前空間に属するかを識別する。例えば、「isbn」は国際標準図書番号の名前空間を示す。「<NSS>」(Namespace Specific String)は、その名前空間内でリソースを一意に識別するための具体的な文字列である。NIDはIANA(Internet Assigned Numbers Authority)によって管理され、登録されたNIDを使用することで、URNのグローバルな一意性が保証される。例えば、urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6のような形式は、uuidというNIDを持つURNであり、特定のユニバーサルな一意識別子を示す。

まとめると、URNはリソースの場所やアクセス方法に依存しない、永続的でグローバルに一意な「名前」を提供する識別子である。URLが「どこにあるか」を示すのに対し、URNは「何か」を示す。その利用には名前解決サービスが必要となるが、リソースの永続的な参照を必要とする分野で重要な役割を果たす概念である。

関連コンテンツ