从http
和https
协议提供的脚本的src URL中省略协议是否完全安全?
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
Facebook和jQuery都建议开发者在脚本标签中添加一个没有协议的源代码。他们的CDN服务HTTP和HTTPS协议,所以如果页面中有脚本在HTTP或HTTPS服务,它将获取脚本与匹配的协议。这是这种做法好的一面。
这有什么问题吗?我最担心的是安全问题。
从src URL中省略协议是完全安全的吗从HTTP和HTTPS协议服务?
是的。
当使用network-path reference
时,浏览器将自动使用https:
协议请求文件,当浏览器通过HTTPS查看页面时,否则它将使用http:
请求文件。
但是,当使用network-path reference
在本地查看文件时,浏览器将使用file:
协议请求文件。
这里有更多的信息:RFC 3986。它没有提到安全性,但行为的性质确保https/http是根据需要选择的。
引用:
4.2。相对参考
相对引用利用了层次语法
(第1.2.3节)来表示相对于名称空间的URI引用relative-ref = relative-part [ "?" query ] [ "#" fragment ] relative-part = "//" authority path-abempty / path-absolute / path-noscheme / path-empty
相对引用引用的URI,也称为目标URI,通过应用引用解析获得第5节的算法
以两个斜杠字符开头的相对引用是称为网络路径引用;这样的引用很少使用。以单个斜杠字符开头的相对引用是
称为绝对路径引用。
的相对引用不以斜杠字符开头的称为相对路径引用。包含冒号字符的路径段(例如,"this:that")不能用作相对路径引用的第一部分,如
它会被误认为是一个方案名称。这样的段必须是
前面加一个点段(例如,"/this:that"),形成一个相对-
路径参考。