女朋友看了會生氣的回答:URI 和 URL 有什么區(qū)別?

URL是什么
URL代表著是統(tǒng)一資源定位符(UniformResourceLocator)。作用是為了告訴使用者 某個資源在 Web 上的地址。這個資源可以是一個 HTML 頁面,一個 CSS 文檔,一幅圖像或一個貓片等等。上面我們請求貓片的URL就是
https://upos-sz-staticks3.bilivideo.com/cmaskboss/164203142_30_1.jpg
這里面細分,又可以分為好幾個部分。
協(xié)議部分
表示該URL的協(xié)議部分為http還是https,會用//為分隔符。上面的URL表示網(wǎng)頁用的是HTTPS協(xié)議,而上面提到的X影天堂用的則是ftp協(xié)議的下載鏈接。
域名部分
域名是upos-sz-staticks3.bilivideo.com,在發(fā)送請求前,會向DNS服務器解析IP。如果已經(jīng)知道ip,還可以跳過DNS解析那一步,直接把IP當做域名部分使用。
端口部分
域名后面有些時候會帶有端口,和域名之間用:分隔,端口不是一個URL的必須的部分。當網(wǎng)址為http://時,默認端口為80
當網(wǎng)址為https://時,默認端口為443,以上兩種都可以省略端口號。上面的URL其實省略了443端口號。
虛擬目錄
從域名的第一個/開始到最后一個/為止,是虛擬目錄的部分。虛擬目錄也不是URL必須的部分,本例中的虛擬目錄是/cmaskboss/
文件名部分
從域名最后一個/開始到?為止,是文件名部分;如果沒有?,則是從域名最后一個/開始到#為止,是文件名部分;如果沒有?和#,那么就從域名的最后一個/從開始到結(jié)束,都是文件名部分。本例中的文件名是164203142_30_1.jpg,文件名也不是一個URL的必須部分。
URI是什么
URI代表著統(tǒng)一資源標識符(UniformResourceIdentifier),用于標識某一互聯(lián)網(wǎng)資源名稱。 該種標識允許用戶對任何包括本地和互聯(lián)網(wǎng)的資源通過特定的協(xié)議進行交互操作。比如上面URL中的164203142_30_1.jpg。
URL 和 URI 的區(qū)別
(1)URL:Uniform Resource Locator統(tǒng)一資源定位符;
(2)URI: Uniform Resource Identifier統(tǒng)一資源標識符;
其實一直有個誤解,很多人以為URI是URL的子集,其實應該反過來。URL是URI的子集才對。簡單解釋下。
假設"小白"(URI)是一種資源,而"在迪麗亦巴的懷里"表明了一個位置。如果你想要找到(locate)小白,那么你可以到"在迪麗亦巴懷里"找到小白,而"在迪麗亦巴懷里的/小白"才是我們常說的URL。而"在迪麗亦巴懷里的/小白"(URL)顯然是"小白"(URI)的子集,畢竟,"小白"還可能是"在牛亦菲懷里的/小白"(其他URL)。

如果你想每天學習一個知識點?
對于準備成為一名優(yōu)秀程序員的朋友,如果你想更好的提升你的編程核心能力(內(nèi)功),讓自己成為一個具有真材實料的厲害的程序員,不妨從現(xiàn)在開始!C/C++,永不過時的編程語言~
微信公眾號:C語言編程學習基地
C語言零基礎入門教程(83集全):https://www.bilibili.com/video/BV1yb4y197tm?spm_id_from=333.999.0.0
整理分享(多年學習的源碼、項目實戰(zhàn)視頻、項目筆記,基礎入門教程)
歡迎轉(zhuǎn)行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
