問題

人們談論URL,URI和URN,好像它們是不同的東西,但它們看起來與肉眼相同。

它們之間有什麼區別?

  最佳答案

RFC 3986 :

URI可以進一步歸類為定位器、名稱或兩者。 “統一資源定位器”(URL)是指URI的子集 除了確定一種資源外,還提供了一種方法 透過描述其主要訪問機制來定位資源 (例如,其網路"位置")。 (URN)歷來被用來指聯合國 “urn”方案 [RFC2141] ,需要保持全球唯一性 即使資源不復存在或變得持久 不可用,以及具有名稱屬性的任何其他 URI。

所以所有的 URL 都是 URI(實際上並不完全 — 參見下文),所有 URN 都是 URI — 但 URN 和 URL 是不同的,所以你不能說所有 URI 都是 URL。

編輯:我以前認為所有URL都是有效的URI,但根據評論:

不是“所有URL都是URI”.它取決於RFC的解釋.例如,在Java中,URI解析器不喜歡[],這是因為規範說“不應該”而不是“不應該”.

因此,不幸的是,水進一步泥沙。

如果你還沒有讀過 Roger Pate的答案,我也建議這樣做.

  相同標籤的其他問題

httpurluriurnrfc3986