女友看了會生氣的回答 URI和URL有什麼區別?

URL是什麼

URL 表明着是統一資源定位符(Uniform Resource Locator)。做用是爲了告訴使用者 某個資源在 Web 上的地址。這個資源能夠是一個 HTML 頁面,一個 CSS 文檔,一幅圖像或一個貓片等等。上面咱們請求貓片的URL就是golang

https://upos-sz-staticks3.bilivideo.com/cmaskboss/164203142_30_1.jpg服務器

這裏面細分,又能夠分爲好幾個部分。ide

  • 協議部分

表示該URL的協議部分爲http仍是https,會用//爲分隔符。上面的URL表示網頁用的是HTTPS協議,而上面提到的X影天堂用的則是ftp協議的下載連接。學習

  • 域名部分

域名是upos-sz-staticks3.bilivideo.com,在發送請求前,會向DNS服務器解析IP。若是已經知道ip,還能夠跳過DNS解析那一步,直接把IP當作域名部分使用。url

  • 端口部分

域名後面有些時候會帶有端口,和域名之間用:分隔,端口不是一個URL的必須的部分。當網址爲http://時,默認端口爲80code

當網址爲https://時,默認端口爲443,以上兩種均可以省略端口號。上面的URL其實省略了443端口號。orm

  • 虛擬目錄

從域名的第一個/開始到最後一個/爲止,是虛擬目錄的部分。虛擬目錄也不是URL必須的部分,本例中的虛擬目錄是/cmaskboss/blog

  • 文件名部分

從域名最後一個/開始到?爲止,是文件名部分;若是沒有?,則是從域名最後一個/開始到#爲止,是文件名部分;若是沒有?和#,那麼就從域名的最後一個/從開始到結束,都是文件名部分。本例中的文件名是164203142_30_1.jpg,文件名也不是一個URL的必須部分。ip

URI是什麼

URI 表明着統一資源標識符(Uniform Resource Identifier),用於標識某一互聯網資源名稱。 該種標識容許用戶對任何包括本地和互聯網的資源經過特定的協議進行交互操做。好比上面URL中的 164203142_30_1.jpg資源

URL 和 URI 的區別

  • URL:Uniform Resource Locator 統一資源定位符
  • URI: Uniform Resource Identifier 統一資源標識符

其實一直有個誤解,不少人覺得URI是URL的子集,其實應該反過來。URL是URI的子集纔對。簡單解釋下。
假設"小白"(URI)是一種資源,而"在迪麗亦巴的懷裏"代表了一個位置。若是你想要找到(locate)小白,那麼你能夠到"在迪麗亦巴懷裏"找到小白,而"在迪麗亦巴懷裏的/小白"纔是咱們常說的URL。而"在迪麗亦巴懷裏的/小白"(URL)顯然是"小白"(URI)的子集,畢竟,"小白"還多是"在牛亦菲懷裏的/小白"(其餘URL)。

若是你想天天學習一個知識點?

關注公衆號:【golang小白成長記】

相關文章
相關標籤/搜索