首頁  >  文章  >  web前端  >  Javascript URI 解析介紹_javascript技巧

Javascript URI 解析介紹_javascript技巧

WBOY
WBOY原創
2016-05-16 16:09:292010瀏覽

解析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.jb51.net/search/?q=js&type=
然後便有了

複製程式碼 程式碼如下:

 var parser = document.createElement('a');
 parser.href = "http://www.jb51.net/search/?q=js&type="

我們便可以知道其的協定、連接埠號碼、主機、具體位址等
複製程式碼 程式碼如下:

 parser.protocol;
 parser.host;
 parser.pathname;
 parser.search;

回傳的結果便是
複製程式碼 程式碼如下:

 protocol:http
 host:www.jb51.net
 pathname:/search/
 search:?q=js&type=

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

如果是對就於一個郵件的URI來說,假設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"
 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn