[問題] 使用 // 取代 http:// 或 https:// ?

作者: hijkxyzuw (i,j,k) ×(x,y,z)   2016-05-07 17:30:21
在一些網站會看到用 // 開頭取代用 http:// 或 https:// 開頭。
像是 flickr 的內嵌分享連結就是用 //embedr.filckr.com/xxxx.js
google 也建議使用這樣的語法,原因是因為網站可能改用 http 或 https 。
https://google.github.io/styleguide/htmlcssguide.xml#Protocol
這種寫法的接受度如何?
我的 firefox 44 還 45 認不出來......,
會去找根目錄上的檔案;當然是找不到啦。
windows XP 上不再被支援的 chrome 也不支援。
====================================================
題外話,
其實是在查 URL 中用來指明協議開頭的雙斜線
有什麼意義時無意間看到的。
而伯納李 ( Berners-Lee ) 也為這件事公開道歉了 XD
http://www.sitepoint.com/sir-tim-berners-lee-http-slashes/
在這串 slackoverflow 有人引用了他的看法:
http://superuser.com/questions/465565/in-a-url-what-is-for
大意是雙斜線有引人注目的作用;
就像看到 @ 會直覺想到 email ,看到 // 會想到 URL 。
但單斜線也可以啊!
作者: jmlntw (吉米林)   2016-05-07 17:36:00
你是在本機上測試吧,那當然認不出來
作者: LPH66 (-6.2598534e+18f)   2016-05-07 17:46:00
你把它理解成「對協議那一層的『相對』路徑」
作者: jmlntw (吉米林)   2016-05-07 17:47:00
省略的話瀏覽器會去找跟它來源一樣的 scheme,
作者: LPH66 (-6.2598534e+18f)   2016-05-07 17:47:00
也就是說取代掉原網址 // 後的部份
作者: ssccg (23)   2016-05-07 22:08:00
你說的這兩個不可以,因為authority那段是optional的scheme:[//[user:pwd@]host[:port]][/]path[?query][#frag]以你的寫法server.name也直接是path的一部分當然當初設計URI時可以不要設計成這樣,不要用//但是現況已經是這樣,要表達之後的部分是authority就必須//
作者: hijkxyzuw (i,j,k) ×(x,y,z)   2016-05-08 17:21:00
大概懂了。都忘了還有 port 和登入的欄位。

Links booklink

Contact Us: admin [ a t ] ucptt.com