javascript關於URI相關內容簡單介紹

螞蟻小編發表於2017-04-04

本章節介紹一下關於javascript解析URI的相關知識,希望能夠給需要的朋友帶來一定的幫助。

一.URI:

在維基百科中對於URI的解釋是這樣子的:

在計算機術語中,統一資源識別符號(Uniform Resource Identifier,或URI)是一個用於標識某一網際網路資源名稱的字串。 該種標識允許使用者對網路中(一般指全球資訊網)的資源通過特定的協議進行互動操作。URI由包括確定語法和相關協議的方案所定義。

引自網路上對於URI組成的解釋,而這些可以在稍後對於URI的解析中看出來。

URI一般由三部分組成:

(1).訪問資源的命名機制。

(2).存放資源的主機名。

(3).資源自身的名稱,由路徑表示。

或者可以說是這樣子,兩者看上去是一致的。

URL的格式由下列三部分組成:

(1).協議(或稱為服務方式)。

(2).存有該資源的主機IP地址(有時也包括埠號)。

(3).主機資源的具體地址。,如目錄和檔名等。

二.URI解析:

“解析”一個URI意味著將一個相對URI引用轉換為絕對形式,或者通過嘗試獲取一個可解引URI或一個URI引用所代表的資源來解引用這個URI。文件處理軟體的“解析”部分通常同時提供這兩種功能。

三.Javascript URI解析:

簡單地以部落格中的搜尋JS為例,下面就是其的URL,

http://www.softwhy.com/search/?q=js&type=

於是就有如下程式碼:

[JavaScript] 純文字檢視 複製程式碼
var parser = document.createElement('a');
 parser.href = "http://www.softwhy.com/search/?q=js&type="

我們便可以知道其的協議、埠號、主機、具體地址等:

[JavaScript] 純文字檢視 複製程式碼
parser.protocol; 
 parser.host;
 parser.pathname;
 parser.search;

返回的結果便是:

[JavaScript] 純文字檢視 複製程式碼
protocol:http
 host:www.softwhy.com
 pathname:/search/
 search:?q=js&type=

上面的結果加出來,便是一個完整的URI。只是對於parser.search這部分不是很理解,對於?號而言,應該是引數,用於搜尋的引數。

如果是對就於一個郵件的URI來說,假設URI是

[JavaScript] 純文字檢視 複製程式碼
mailto:h@softwhy.com?subject=antzone

於是有如下程式碼:

[JavaScript] 純文字檢視 複製程式碼
var parser = document.createElement('a');
 parser.href = "mailto:h@softwhy.com?subject=antzone";
 > parser.protocol
 "mailto:"
 > parser.pathname
 "h@softwhy.com"
 > parser.search
 "?subject=hello"

相關文章