我們在瀏覽網頁的時候,需要在瀏覽器中輸入http://或者https://開頭的URL地址,類似http://honeypps.com,那么這里的"://"或者"//"有什么用呢?
說到URL就不得不提URI了。用什么來標記服務器上的資源呢?用的就是URI(Uniform Resource Identifier),即統一資源標識符。URI經常出現在瀏覽器的地址欄里,有時候也會稱它為“網絡地址”,簡稱“網址”。不過,嚴格意義上來講,URI不完全等同于網址,它包含URL(Uniform Resource Locator,統一資源定位符)和URN(Uniform Resource Name, 統一資源命名)。
由于URL的普及性特別高,狹義上,我們可以簡單地把URI和URL看做是相等的東東。
我們來看一下URI的格式:
URI = scheme:[//authority]path[?query][#fragment]authority = [userinfo@]host[:port]
結構圖如下:

第一部分,scheme,可以翻譯成協議名,表示資源應該使用哪種協議來訪問。最常見的就是http和https了,其它的如:ftp、file等。
在 scheme 之后,必須是三個特定的字符“://”,它把 scheme 和后面的部分分離開。這個是今天的主角,如果單單是用作區分,完全可以只使用“:”這1個字母,而不是“://”這3個字母。
在“://”之后,是被稱為“authority”的部分,表示資源所在的主機名,通常的形式是“host:port”,即主機名加端口號。以前authority還會包含身份信息userinfo,即“user:passwd@”的形式,不過現在已經不流行了,可以忽略。在后面的內容代表什么含義,相信大家都已經很清楚了。
當有人問你://有什么用的時候,其實是在挖坑。我們在面試的時候,經常在回答完一個問題的時候,面試官會抓著你答案里的一個點進行“深層次挖掘”,也可以稱之為“奪命連環問”,久而久之我們會形成一種習慣,總覺得問題的背后有什么深層次的東西,需要我們絞盡腦汁去思考。這里的://就是一個典型的反例。