【思考】URI和URL的區別?以及URL的結構

URI = Universal Resource Identifier
URL = Universal Resource Locatorhtml

在學習中,咱們不免會遇到 URI 和 URL,有時候都傻傻分不清,爲啥這邊是 URI 那邊又是 URL,這二者到底有什麼區別呢?服務器

咱們從名字上看網絡

  • 統一資源標識符(Uniform Resource Identifier, URI):是一個用於標識某一互聯網資源名稱的字符串。
  • 統一資源定位符(Uniform Resource Locator, URL):是一個用於標識和定位某一互聯網資源名稱的字符串。

可能你們就比較困惑了,這倆好像是同樣的啊?那咱們就類比一下咱們現實生活中的狀況:
咱們要找一我的——張三,咱們能夠經過他的惟一的標識來找,好比說身份證,那麼這個身份證就惟一的標識了一我的,這個身份證就是一個 URI
而要找到張三,咱們不必定要用身份證去找,咱們還能夠根據地址去找,如 在清華大學18號宿舍樓的404房間第一個牀鋪的張三,咱們也能夠惟一肯定一個張三,
動物住址協議://地球/中國/北京市/清華大學/18號宿舍樓/404號寢/張三.人。而這個地址就是咱們用於標識和定位的 URL
咱們從上面能夠很明顯的看出,URI 經過任何方法標識一我的便可,而 URL 雖然也能夠標識一我的,可是它主要是經過定位地址的方法標識一我的,因此 URL 實際上是 URI 的一個子集,即 URL 是靠標識定位地址的一個 URI學習

Url 的構成

URL(Uniform Resource Locator,統一資源定位符),用於定位網絡上的資源,每個信息資源都有統一的且在網上惟一的地址。url

Url通常有如下部分組成
scheme://host:port/path?query#fragmentcode

Scheme: 通訊協議,通常爲http、https等;
Host: 服務器的域名主機名或ip地址;
Port: 端口號,此項爲可選項,默認爲80;
Path: 目錄,由「/」隔開的字符串,表示的是主機上的目錄或文件地址;
Query: 查詢,此項爲可選項,能夠給動態網頁傳遞參數,用「&」隔開,每一個參數的名和值用「=」隔開;
Fragment: 信息片斷,字符串,用於指定網絡資源中的某片段;orm


其實,把 URL 說成是網址實際上是很不嚴謹的說法,由於 URL 有很嚴格的結構,表示也很靈活、有彈性。
RFC 3986: Uniform Resource Identifier (URI): Generic SyntaxSyntax Components 把 URL 描述爲以下圖:htm

如圖所示,把 URL 分紅幾個部分,這樣即可以瞭解URL的構成。 在 URI scheme - Wikipedia 頁面中對 URL 的描述更爲詳細,以下圖:
blog

相關文章
相關標籤/搜索