web-dev-qa-db-ja.com

URIとURLの違いは何ですか?

私はこれらのページを読みました:

URL、URN、およびURIの基本を知っています。しかし、ほとんど違いはありませんそれらの違い。私が理解できないことは、次のようなページにあります:http://www.bernzilla.com/item.php?id=100どの部分がURL、URN、およびURIです
URIは一部ですが、URLとURNですか??

ウィキペディアからの写真

編集:
w3c.orgから:

URLは、他の属性ではなく、主なアクセスメカニズム(ネットワークの「場所」など)の表現を介してリソースを識別するURIの一種です。

from www.damnhandy.com

現在、アプリケーションを記述するときにURLを使用することは正しくないと考えられています。

idは属性ですか?アプリケーション部分はどうですか? PHPはアプリケーションですか?

44
undone

URI/URL Venn Diagram

URL- niform Resource Locator

その場所からリソースを取得する方法に関する情報が含まれています。例えば:

  • http://example.com/mypage.html
  • ftp://example.com/download.Zip
  • mailto:[email protected]
  • file:///home/user/file.txt
  • tel:1-888-555-5555
  • http://example.com/resource?foo=bar#fragment
  • /other/link.html(相対URL、別のURLのコンテキストでのみ有用)

URLは常にプロトコル(http)で始まり、通常、ネットワークホスト名(example.com)などの情報と、多くの場合ドキュメントパス(/foo/mypage.html)が含まれます。 URLには、クエリパラメータとフラグメント識別子が含まれる場合があります。

URN- ユニフォームリソース名

一意の永続的な名前でリソースを識別します。通常、接頭辞urn:で始まります。次に例を示します。

  • urn:isbn:0451450523。ISBN番号で本を識別します。
  • urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66グローバルに一意の識別子
  • urn:publishing:book-ドキュメントを書籍の種類として識別するXML名前空間。

URNは、アイデアと概念を識別することができます。ドキュメントの識別に限定されません。 URNがドキュメントを表す場合、「リゾルバ」によってURLに変換できます。その後、ドキュメントをURLからダウンロードできます。

URI- niform Resource Identifier

URIには、URL、URN、およびリソースを識別するその他の方法が含まれます。

URLでもURNでもないURIの例は、data:,Hello%20Worldなどの データURI です。 URIにはデータが含まれているため、URLやURNではありません。ネットワークに名前を付けることも、ネットワーク上で検索する方法も示しません。

また、ドキュメント自体ではなく、ドキュメントに関するメタデータを指す統一リソース引用(URC)もあります。 URCの例としては、Webページのソースコードを表示するための識別子view-source:http://example.com/があります。 URCは、URLでもURNでもない別のタイプのURIです。

よくある質問

もうURLを言ってはいけないと聞いたのですが、なぜですか?

HTMLのW3仕様では、 hrefアンカータグ にはURLだけでなくURIを含めることができるとされています。 <a href="urn:isbn:0451450523">などのURNを入力できるはずです。ブラウザはそのURNをURLに解決し、本をダウンロードします。

ブラウザは実際にURNでドキュメントを取得する方法を知っていますか?

私が知っていることではありませんが、最新のWebブラウザーはデータURIスキームを実装しています。

URLとURIの違いは、相対か絶対かに関係がありますか?

いいえ。相対URLと絶対URLはどちらもURL(およびURI)です。

URLとURIの違いは、クエリパラメータがあるかどうかに関係していますか?

いいえ。クエリパラメータのあるURLとないパラメータはどちらもURL(およびURI)です。

URLとURIの違いは、フラグメント識別子があるかどうかに関係していますか?

いいえ。フラグメント識別子のあるURLとないフラグメントURLは両方ともURL(およびURI)です。

しかし、W3CはURLとURIは同じものだと言っていないのですか?

はい。 W3Cは、これについて多くの混乱があることを認識しました。彼らは RI明確化ドキュメント を発行しました。これは、URLとURIという用語を(URIを意味する)交換可能に使用することが今では問題ないことを示しています。 URIをURL、URN、URCなどの異なるタイプに厳密にセグメント化することはもはや有用ではありません。

URIはURLとURNの両方にすることができますか?

URNの定義は、上記で説明したものよりも緩やかになりました。 RIに関する最新のRFC は、「名前のプロパティ」がある限り、URIが(urn:で始まるかどうかに関係なく)URNになることができることを示しています。つまり、リソースが存在しなくなった場合や使用できなくなった場合でも、グローバルに一意で永続的です。例:http://www.w3.org/TR/html4/strict.dtdなどのHTML Doctypeで使用されるURI。そのURIは、w3.org Webサイトのページが削除された場合でも、HTML4 Transitional Doctypeに名前を付け続けます。

42

これらの記事は非常によく説明していると思います。あなたの質問に答えるために-allこれはURLです:

http://www.bernzilla.com/item.php?id=100

それの各ビット-http:www.bernzilla.comなどには独自の名前があります:

  • http:はスキームです
  • wwwはサブドメインです
  • bernzilla.comはドメインです
  • comはトップレベルドメインまたはTLDです
  • (そこにフォルダーまたはパスがある可能性があります、例えば/dir/item.php、しかしありません)
  • item.phpは、拡張子がphpのページまたはファイル名です
  • id = 100はクエリ文字列です

なぜウィキペディアから質問されているのか、その図を見ることができます。その図では、URLとURNの2種類のURIがあり、中央のファジービットは、両方が可能な場合を示しています。

10
paulmorriss

言及したURLがURLとURNの両方の部分で構成されているわけではありません。

http://www.bernzilla.com/item.php?id=100はURLとURIの両方です。

基本的に、URIはURLとURNのスーパーセットです。 URLとURNの間にもいくつかの重複があります。

URIは、場所、名前、またはその両方によってリソースを識別します。

したがって、URLはすべてURI、URNはURIですが、すべてのURIがURLとは限りません。

7
Kris