URL基本格式
< scheme>://< user>:< password>@< host>:< port>/< path>;< params>?< query>#< frag>
通用的URL組件
組件 | 描述 | 默認(rèn)值 |
---|---|---|
方案 | 獲取資源要使用的協(xié)議 | 無 |
用戶 | 用戶名 | 匿名 |
密碼 | 跟在用戶名后面,用冒號(hào)(:)隔開 | <e-mail地址> |
主機(jī) | 主機(jī)名或者ip地址 | 無 |
端口 | 各個(gè)方案特有的默認(rèn)端口 | 方案特有 |
路徑 | 可以多個(gè),以斜杠(/)分割,可以加參數(shù)([;params]) | 無 |
查詢 | ?name=bob&age=3 | 無 |
片段 | #title,只是給瀏覽器識(shí)別,不能分割資源 | 無 |
方案
不區(qū)分大小寫,http與HTTP是一樣一樣的
主機(jī)與端口
既可以是域名,也可以是ip地址
用戶名與密碼
用戶不填就是匿名,并發(fā) 送一個(gè)默認(rèn)的密碼( Internet Explorer 會(huì)發(fā)送 IEUser蛇数, Netscape Navigator 則會(huì)發(fā)送 mozilla)
路徑
路徑參數(shù)在每個(gè)路徑段都可以有
eg: http:// www. joes- hardware. com/ hammers; sale= false/ index. html; graphics= true
查詢字符串
eg: https://baike.baidu.com/item/URL%E6%A0%BC%E5%BC%8F/10056474?fr=aladdin
片段
#錨點(diǎn),給客戶端識(shí)別用的,并不能切割資源
相對URL(舉個(gè)栗子)
xxx/xxx.html node_modules目錄or當(dāng)前目錄(看解析方式)
/xxx/xxx.html 根目錄
./xxx/xxx.html 當(dāng)前目錄
../xxx/xxx.html 上級目錄
../../xxx/xxx.html 上上級目錄
自動(dòng)拓展URL
主機(jī)名拓展 與 歷史拓展(瀏覽器的甜點(diǎn))
baidu => www.baidu.com
令人頭痛的的字符
設(shè)計(jì)url的人希望可以被人類閱讀,又不希望丟失不可見,不可打印的字符,于是需要對不安全的字符進(jìn)行轉(zhuǎn)義松捉。
不安全的字符: 尼瑪其實(shí)就是老外不認(rèn)識(shí)的字兒,比如我們漢字目錄,有些程序不識(shí)別,就會(huì)報(bào)錯(cuò),就不安全咯!當(dāng)然不止這些咯
方案的世界
方案 | 描述 |
---|---|
http | 默認(rèn)端口:80 http://< host>:< port>/< path>?< query>#< frag> |
https | 默認(rèn)端口443 格式同上 |
mailto | mailto: joe@ joes- hardware. com |
ftp | 基本格式: ftp://< user>:< password>@< host>:< port>/< path>;< params> 示例: ftp:// anonymous: joe% 40joes- hardware. com@ prep. ai. mit. edu: 21/ pub/ gnu/ |
rtsp 栅屏,rtspu | RTSP URL 是可以通過實(shí)時(shí)流傳輸協(xié)議( Real Time Streaming Protocol) 解析的音/ 視頻媒體資源的標(biāo)識(shí)符啸箫。 方案 rtspu 中的 u 表示它是使用 UDP 協(xié)議來獲取資源的耸彪。 基本格式: rtsp://< user>:< password>@< host>:< port>/< path> rtspu://< user>:< password>@< host>:< port>/< path> 示例: rtsp:// www. joes- hardware. com:554/ interview/ cto_video |
file | 在桌面建個(gè)html文件,雙擊就可以在瀏覽器看到效果 |
news | 用來訪問新聞與新聞組 news:< newsgroup> news:< news- article- id> 示例: news: rec. arts. startrek |
telnet | 用于訪問交互式業(yè)務(wù) |
展望未來
URL的缺點(diǎn)是,路徑對應(yīng)文件,移動(dòng)文件這個(gè)URL就失效了.
URN 一個(gè)名字對應(yīng)一個(gè)文件,不管文件在哪個(gè)服務(wù)器,感覺有點(diǎn)MD5的味道
PURL 永久統(tǒng)一資源定位符,URL對URN的實(shí)現(xiàn),中間加入一個(gè)尋址層,文件變動(dòng)需要在這里注冊,實(shí)現(xiàn)實(shí)時(shí)更新地址