→ jmlntw: 你是在本機上測試吧,那當然認不出來 05/07 17:36
意思是如果用了 file:// ,瀏覽器才會將她解析為相對路徑嗎?
※ 編輯: hijkxyzuw (140.116.207.237), 05/07/2016 17:43:30
推 LPH66: 你把它理解成「對協議那一層的『相對』路徑」 05/07 17:46
→ jmlntw: 省略的話瀏覽器會去找跟它來源一樣的 scheme, 05/07 17:47
→ LPH66: 也就是說取代掉原網址 // 後的部份 05/07 17:47
→ jmlntw: http 找 http、https 找 https、file:// 就找 file:// 05/07 17:47
兩位推文混在一起了 :目
大概是用了 file:// 就會把沒寫協議視為 file:// 。
而另一個使用雙斜線的理由就是避免和根目錄的單斜線搞混。
像 /path/to/file.js 和 //server.name/path/to/file.js
就是用雙斜線來區分是主機名或路徑名。
但使用 :/ 甚至是 : 也可以啊!就變成
:server.name/path/file.js 或 :/server.name/path/file.js 。
※ 編輯: hijkxyzuw (140.116.207.237), 05/07/2016 17:59:05
→ ssccg: 你說的這兩個不可以,因為authority那段是optional的 05/07 22:08
→ ssccg: scheme:[//[user:pwd@]host[:port]][/]path[?query][#frag] 05/07 22:09
→ ssccg: 以你的寫法server.name也直接是path的一部分 05/07 22:09
→ ssccg: 當然當初設計URI時可以不要設計成這樣,不要用// 05/07 22:12
→ ssccg: 但是現況已經是這樣,要表達之後的部分是authority就必須// 05/07 22:13
→ hijkxyzuw: 大概懂了。都忘了還有 port 和登入的欄位。 05/08 17:21