//缺省协议的使用,代表资源访问的协议和当前页面保持一致,如果当前页面是http ,采用http协议访问,如果是https,则使用 https 协议访问。这样用就不管是http还是升级到https都不用改动代码,现在很多CDN资源都是这样引用。一般使用在内链中,外链的协议头具有不确定性的原因。
//是缺省协议的写法,例如
//fly63.com/path
缺省协议默认使用当前协议
当前页面为HTTP时,等效
http://fly63.com/path
当前页面为HTTPS时,等效
https://fly63.com/path
当前页面和目标资源同时支持HTTP和HTTPS正在从http升级到https
这样的好处就是能根据用户打开页面的方式自适应的选择资源的请求协议,
对于https页面的内容,浏览器默认会组织非https内容,可以避免这种情况
直接打开本地文件调试时,使用的协议是文件协议(file://)
这个时候这个协议会变成 file://fly63.com/path显然是不存在的
与当前网站的协议保持一致,快速发布与你当前协议相匹配的版本,同时减少SSL或其它协议版本的部署成本。开发者不需要管服务器云端提供什么协议,只要用//符号来代表一切最适应的匹配,这和nodeJS的思维是一脉相承的。
先说一下网络的层级:由下往上分为 物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,TCP:是面向连接的一种传输控制协议。属于传输层协议。UDP:是面向非连接的用户数据报协议。HTTP是基于TCP协议的应用的超文本传输协议,属于应用层的协议。
HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。