缺省协议"//"是什么?

122 阅读3分钟

一、定义

// 是缺省协议,默认使用当前页面的协议。 如果当前页面使用的是 http 协议,则//自动识别并替换为http://,如果使用的是 https 协议,则//自动识别并替换为https://

例如://www.guowang.com

二、优缺点

优点:

  1. 自适应httphttps协议,能根据用户打开页面的方式自动识别请求协议;
  2. 当前页面和目标资源同时支持httphttps,并支持正在从http升级到https
  3. 对于https页面的内容,浏览器默认会组织非https内容(http协议在https协议的页面里会报错),使用//可以避免这种情况。

缺点:

  1. 直接打开本地文件调试时,使用的协议是文件协议file://

通过缺省协议的优缺点,我们可以在开发阶段使用固定的协议来调试代码,当要部署准生产或者生产环境时,将固定协议修改为缺省协议。

三、应用场景

  1. 当网站从http协议升级为https协议时,使用//可以避免修改前端代码中的所有链接地址,如a标签的href,img标签的src;
  2. 开发时,写成 "//网址/文件" 来替代前面的协议,例如://www.guowang.com/web,具体是ssl协…

四、使用细节

当一个前端人被藐视的时候:用 // 代替 http:// 有什么好处?

1、如果你用 http:// ,那你就是默认当前页面是 http 协议了,你一个前端凭什么决定当前页面的协议,难道你不知道 http 链接在 https 页面里会报错啊?

2、你应该沿用当前页面的协议,所以你要写 //如果你用 https://,也是一样的问题,你怎么知道三年后会不会出现一个 httpshe://,难道到时候你再全部改成 httpshe:// ?

3、不要做任何明显是错误的假设!你根本就不知道当前页面会用什么协议打开!所以你要用 // 啊!

五、HTTP与HTTPS比较

HTTP

  1. http 默认端口:80;
  2. http 走明文通道,信息是明文传输;
  3. http 是最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议;
  4. http 可以使浏览器更加高效,使网络传输减少。

HTTPS

  1. https 默认端口:443;
  2. https 走加密通道,具有安全性的ssl加密传输协议,要申请 CA证书,收费的多,免费的少;
  3. https 是 http 的安全版,即 http 下加入 ssl 层,https 的安全基础是 ssl,加密的详细内容就需要 ssl,https 更安全。

HTTPS的作用:

  1. 建立一个信息安全通道,来保证数据传输的安全;
  2. 确认网站的真实性。