URL(Uniform Resource Locator),統一資源定位符。表示了互聯網上資源的位置,同時也可選擇性攜帶資源的訪問方法。可是不肯定該位置是否有相應的資源,若資源位置作過變更,以前的URL將沒法訪問到該資源。html
通常由三部分組成(文章下面待會詳述):web
http://www.jaykoo.com:80/my/url/location.html數據庫
---------------------------------------------
//協議:http
//主機地址:www.jaykoo.com
//端口號:80
//文件在主機中地址:/my/url/location.htmlbash
URN(Uniform Resource Name),同一資源名稱。URN 是做爲特定內容的惟一名稱使用的,與目前的資源所在地無關。使用這些與位置無關的URN,就能夠將資源四處搬移。經過URN,還能夠用同一個名字經過多種網絡訪問協議來訪問資源。服務器
常見的,老司機們在magnet的格式中:網絡
magnet:?xt=urn:btih:23333333
----------------------------
下劃線標註了該資源的URN搜索引擎
URI(Uniform Resource Indentifier),統一資源標識符。用於標識在世界範圍內某一惟一的互聯網資源的字符串。經過這個字符串規則,我能夠清楚地認知到這個網絡資源。具體怎麼標識?能夠用資源的名稱(Name)、定位(Location)來標識,或者以上二者都有,還有多是其餘的方法。加密
好比在web中,全部的文件都由「ftp:xxxxx」定義,每一個文件都有惟一的「ftp:xxxxx」,那麼這個「ftp:xxxxx」就是一個URIurl
已知具體的兩種方法URL和URN都是URI的實現:spa
能夠說,URL和URN都是URI的子集,所以,一切URL和URN都是URI。
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>
組件 | 描述 | 默認值 |
方案(scheme) | 訪問服務器以獲取資源時要使用哪些協議,常見如: http、https、ftp等 |
無 |
用戶(user) | 不少服務器都要求輸入用戶名和密碼纔會容許用戶訪問數據,如FTP服務器。 例子:jaykoo是用戶名、mypasswd是密碼 ftp://jaykoo:mypasswd@ftp.prep.edu/pub/name |
匿名 |
密碼(password) | 如上,用戶名與密碼之間,用冒號(:)分隔 | <E-mail 地址> |
主機(host) | 服務器主機名或IP地址。 主機名:www.jaykoo.com IP:123.45.67.89 |
無 |
端口(port) | 資源宿主服務器正在監聽的端口號,經過特定端口號訪問特定資源 (默認狀況下http 80 ; https 443 ;也能夠單獨指定) |
每一個方案特有 |
路徑(path) | 資源位於服務器的位置,用(/)分隔 | 無 |
參數(params) | 負責解析URL的應用程序有時候須要經過參數來訪問資源,不然光經過協議、主機、端口這些信息可能不能訪問到資源,甚至訪問錯誤的資源。參數由(;key1=value1;key2=value2)設定。 同一URL下不一樣的路徑段中能夠分別配置上參數,如: http://www.jaykoo.com:80/my;type1=a;type2=b/home;type=safe/index.html;id=666 其路徑 —— /my/home/index.html 下不一樣路徑段分別配置了參數。 |
無 |
查詢(query) | 不少資源,好比數據庫服務、搜索引擎,均可以經過提問題或進行查詢來縮小請求資源的範圍 具體格式(?key1=value1&key2=value2) http://www.jaykoo.com/index.html?name=jay&item=233 |
無 |
片斷(frag) | #表明網頁中的一個位置,其右面的字符就是該位置的標識符(通常狀況下,錨連接會用到) | 無 |
一些經常使用Web協議(待擴充)
http | 默認端口:80 格式: http://<host>:<port>/<path>?<query>#<frag> (路徑<path>中能夠傳參<params>(;key=value),https同) |
https | 與http惟一區別就是用了SSL(爲HTTP鏈接提供了端對端的加密機制)。其他語法基本相同。 默認端口:443 格式: https://<host>:<port>/<path>?<query>#<frag> |
ftp | 文件傳輸協議。用來在FTP服務器上傳或下載文件,並獲取服務器上的目錄結構內容列表。 默認端口:標準命令TCP端口號爲21,Port方式數據端口爲20 基本格式: ftp://<user>:<password>@<host>:<port>/<path>;<params> |
rtsp,rtspu | 經過實時流傳輸協議(Real Time Streaming Protocol)解析的音、視頻媒體資源的標識符。rtspu的u指的是用的UDP協議獲取資源。 rtsp默認端口:554 基本格式: rtsp://<user>:<password>@<host>:<port>/<path> rtspu://<user>:<password>@<host>:<port>/<path> |
file | 主機上能夠直接訪問的文件。 基本格式: file://<host>/<path> 以上主機名能夠省略,默認訪問本機文件 |
telnet | 用於訪問交互式業務。 默認端口:23 基本格式: telnet://<user>:<password>@<host>:<port>/ |