URL是Uniform Location Resource的縮寫,翻譯爲「統一資源定位符」,也就是描述資源位置的固定表示方法。被URL描述的資源能夠位於互聯網上,也能夠位於本地。html
基本URL包含模式(或者成爲協議),服務器名(或IP地址),路徑和文件名。node
經過協議,能夠獲取打開URL的方式,最多見的協議是http,從網上查到的協議以下:安全
http 超文本傳輸協議服務器
https 用安全套接字層傳送的超文本傳輸協議函數
ftp 文件傳輸協議測試
mailto 電子郵件地址ui
ldap 輕型目錄訪問協議搜索 url
file 本地文件spa
news Usenet新聞組翻譯
gopher Gopher協議
telnet Telnet協議
文件所在的服務器名稱+端口號/用戶名密碼+文件的路徑+文件自己的名稱
當URL沒有給出對應的文件名是,通常訪問默認的文件名,例如index.html或default.html
URL對象中的成員以下:
url.format(urlObj) 將一個URL對象轉化成格式化的URL地址
url.parse(urlStr[, parseQueryString][, slashesDenoteHost]) 將一個URL地址解析爲一個URL對象,第二個參數傳入布爾值,表示是否解析查詢字符串,(第三個參數傳入布爾值,表示pathname是否去除host,這個官方文檔說明沒有徹底看明白,後面測試一下)
url.resolve(from, to) 將from指向的URL轉換到to,例如
·
1 2 3 url.resolve('/one/two/three', 'four') // '/one/two/four' url.resolve('http://example.com/', '/one') // 'http://example.com/one' url.resolve('http://example.com/one', '/two') // 'http://example.com/two'
測試環境:node.js 4.2.4
經測試,第二和第三個參數無效。
代碼爲URLTest.js
1 2 var url = require('url');var addr = 'http://www.baidu.com'; console.log(url.parse(addr));
運行結果爲:
1 2 3 4 D:\MyHTML\MyJS\URLTest>node URLTest.jsUrl { protocol: 'http:', slashes: true, auth: null, host: 'www.baidu.com', port: null, hostname: 'www.baidu.com', hash: null, search: null, query: null, pathname: '/', path: '/', href: 'http://www.baidu.com/' }