新手问题 这种写法已经流行起来了吗?

gihnius · 2014年02月27日 · 最后由 Delbert 回复于 2014年03月29日 · 10693 次阅读
本帖已被管理员设置为精华贴

在网页内引用 URL 时省略 http: https, 即直接 //doamin.name/path/to/res 我知道大多数浏览器自动加上 http:或 https: 有没有人发现这有什么弊端?

没发现。

这样同时有 http 和 https 两套部署的话就只用缓存一份代码

很是高大上呀

@swordray 说得对,这里有一个相关的文章可以看看

http://www.paulirish.com/2010/the-protocol-relative-url/

除了本地直接打开文件时某些浏览器会假死外,没有啥弊端

弊端就是我用 https 访问 digg reader,结果里面的 css js 也走 https,而且是放在 cloudflare 上的,https 的 cloudflare 已经被墙。

这种写法是为了避免在 https 站点引用 http 资源产生的警告

主要是解决 http 和 https 混用的情况

google analytics js 嵌入代码就这么写

已经用了一段时间了

我记得我在看 Google html/css coding style 的时候看过,这是推荐的写法,不是弊端。 http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml?showone=Protocol#Protocol

请注意这种写法的浏览器兼容性是没有 100% 保证的

Google Adsense 给的代码是

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

但服务器收到大量错误请求

http://www.domain.com/pagead2.googlesyndication.com/pagead/js/adsbygoogle.js

#12 楼 @swordray 这是某个爬虫吧

#13 楼 @luikore 那估计是个呆萌的爬虫

主流浏览器和主流移动浏览器都支持,没问题。

弊端就是某些领导感觉不好接受

嗨呀 嗨呀,原来 jquery 的 CDN 地址是这么回事儿 之前看着老觉得别扭。。。

#12 楼 @swordray 赞!见过不少这样的写法,一直不明所以。

这种写法的话,对目标资源的请求协议会采用当前页面的协议。

这样的话,你 include 的 js 脚本就不必自己判断是该使用 HTTP 还是 HTTPS 了。如果 HTTPS 页面里有非 HTTP 资源,浏览器会报错的。

如果浏览器对此自持有瑕疵,可能会有安全漏洞吧。

在 koding.com 刚出来的时候我就注意到了,默认的几个演示文档就是//开头的,当时很好奇,尝试了一下,发现不用协议名称竟然能解析。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号