Javascript URI 解析介紹
解析URI是一個(gè)有意思的東西,之前沒有意識(shí)到,原來這東西也可以這么復(fù)雜。
URI
在維基百科中對(duì)于URI的解釋是這樣子的:
在計(jì)算機(jī)術(shù)語中,統(tǒng)一資源標(biāo)識(shí)符(Uniform Resource Identifier,或URI)是一個(gè)用于標(biāo)識(shí)某一互聯(lián)網(wǎng)資源名稱的字符串。 該種標(biāo)識(shí)允許用戶對(duì)網(wǎng)絡(luò)中(一般指萬維網(wǎng))的資源通過特定的協(xié)議進(jìn)行交互操作。URI由包括確定語法和相關(guān)協(xié)議的方案所定義。
引自網(wǎng)絡(luò)上對(duì)于URI組成的解釋,而這些可以在稍后對(duì)于URI的解析中看出來。
URI一般由三部分組成:
1.訪問資源的命名機(jī)制。
2.存放資源的主機(jī)名。
3.資源自身的名稱,由路徑表示。
或者可以說是這樣子,兩者看上去是一致的。
URL的格式由下列三部分組成:
1.協(xié)議(或稱為服務(wù)方式)
2.存有該資源的主機(jī)IP地址(有時(shí)也包括端口號(hào))
3.主機(jī)資源的具體地址。,如目錄和文件名等
URI解析
“解析”一個(gè)URI意味著將一個(gè)相對(duì)URI引用轉(zhuǎn)換為絕對(duì)形式,或者通過嘗試獲取一個(gè)可解引URI或一個(gè)URI引用所代表的資源來解引用這個(gè)URI。文檔處理軟件的“解析”部分通常同時(shí)提供這兩種功能。
Javascript URI解析
簡(jiǎn)單地以博客中的搜索JS為例,下面就是其的URL,
http://www.dbjr.com.cn/search/?q=js&type=
然后便有了
var parser = document.createElement('a');
parser.href = "http://www.dbjr.com.cn/search/?q=js&type="
我們便可以知道其的協(xié)議、端口號(hào)、主機(jī)、具體地址等
parser.protocol;
parser.host;
parser.pathname;
parser.search;
返回的結(jié)果便是
protocol:http
host:www.dbjr.com.cn
pathname:/search/
search:?q=js&type=
上面的結(jié)果加出來,便是一個(gè)完整的URI。只是對(duì)于parser.search這部分不是很理解,對(duì)于?號(hào)而言,應(yīng)該是參數(shù),用于搜索的參數(shù)。
如果是對(duì)就于一個(gè)郵件的URI來說,假設(shè)URI是
mailto:h@jb51.net?subject=hello
那么
var parser = document.createElement('a');
parser.href = "mailto:h@jb51.net?subject=hello";
> parser.protocol
"mailto:"
> parser.pathname
"h@jb51.net"
> parser.search
"?subject=hello"
相關(guān)文章
完美實(shí)現(xiàn)js焦點(diǎn)輪播效果(一)
這篇文章主要為大家詳細(xì)介紹了完美實(shí)現(xiàn)js焦點(diǎn)輪播效果的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03es6數(shù)組的flat(),flatMap()函數(shù)用法實(shí)例分析
這篇文章主要介紹了es6數(shù)組的flat(),flatMap()函數(shù)用法,結(jié)合實(shí)例形式分析了es6數(shù)組的flat(),flatMap()函數(shù)基本功能、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04JavaScript數(shù)據(jù)類型及相互間的轉(zhuǎn)換規(guī)則
這篇文章主要介紹了JavaScript數(shù)據(jù)類型及相互間的轉(zhuǎn)換規(guī)則,文章通過圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09JS實(shí)現(xiàn)獲取時(shí)間已經(jīng)時(shí)間與時(shí)間戳轉(zhuǎn)換
這篇文章主要為大家提供了用JavaScript編寫的獲取時(shí)間的類,以及時(shí)間戳轉(zhuǎn)時(shí)間的三種格式,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-03-03JavaScript NodeTree導(dǎo)航欄(菜單項(xiàng)JSON類型/自制)
利用閑暇時(shí)間自己做了個(gè)JavaScript NodeTree,網(wǎng)上有很多類似的效果,本例主要是練練手,鞏固下知識(shí),感興趣的朋友可以了解下,或許對(duì)你學(xué)習(xí)NodeTree導(dǎo)航欄有所幫助,認(rèn)為好的就分享嘍2013-02-02