[问题] 使用 // 取代 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