說起URL,就不能不提它的父親URI,很多時候容易把它們搞混
引入
URI(Uniform Resource Identifier)是一個通用的概念,稱為統一資源標識符,它有兩個主要的子集URL和URN構成。URL是通過描述資源的位置來標識資源的,URN則是通過名字來識別資源的
URL(Uniform Resource Locator),稱為統一資源定位符。當我們通過web瀏覽器訪問網站時,輸入的地址就是一個標准的URL
語法
URL語法建立在由下面9部分構成的通用格式上
<scheme>://<user>:<password>@<host>:<port>/<path>:<params>?<query>#<frag>
方案(scheme)、主機(host)和路徑(path)是URL最重要的三個組成部分
方案
方案規定了如何訪問指定資源的標識符,它會告訴負責解析URL的應用程序應該使用什么協議
常見的方案如下
方案:http
格式:http://<host>:<port>/<path>?<query>#<frag>
示例:http://www.example.com:80/index.html
方案:https
格式:https://<host>:<port>/<path>?<query>#<frag>
示例:https://www.example.com:80/index.html
方案:mailto
示例:mailto:serve@qq.com
方案:ftp
格式:ftp://<user>:<password>@<host>:<port>/<path>;<params>
示例:ftp://root:asdf@example.com:3000/test
方案:file
格式:file ://<host>/<path>
示例:file://demo/index.html
方案:telnet
格式:telnet://<user>:<password>@<host>:<port>/
示例:telnet://root:asdf@example.com:23/
主機
除了方案,要想定位到資源的位置,主機地址和端口號也是必不可少的。主機地址標識了資源的宿主機器,可以用主機名(如www.example.com
)或者IP地址來表示。端口號標識了服務器正在監聽的網絡端口
路徑
路徑就比較好理解了,主要說明了資源位於服務器的什么地方,路徑通常很像一個分級的文件系統路徑(如/public/img/a.jpg)