首先来讲HTTPS的确是会带来额外的开销,这一点是没有问题的。
但是提问者你对HTTPS的理解未免太狭隘,举的例子更是……
谁告诉你HTTPS的意义仅在于传输隐私内容或者秘密信息交互啊?
网站身份认证也是非常非常重要的一个环节,不然的话,大家自己给自己颁发证书就好了,何必那么麻烦呢?
W3C几乎是理所当然的需要HTTPS,因为这是一个权威文档的发布网站,如何确保其权威性?那个DNS可以随便解析的域名吗?
显然不是,只有证书才能确保。
所以说,HTTPS解决了两个问题,传输安全和身份认证。尤其是后者,是对DNS这种不靠谱的玩意儿的一个很重要的补充。
同时,因为HTTPS相关技术的成熟,HTTPS带来的性能损失已经大大的改观,甚至可以忽略不计了。大部分高流量的网站服务,都会在前端层面进行SSL卸载,即将HTTPS请求转换为HTTP请求向后进行传输。所以事实上真正后端的Web服务器其实处理的还是HTTP请求,而没有什么性能上的损失。
的确,HTTPS的CDN流量费用通常要高一丢丢,SSL卸载也会带来额外的性能损失,但是这些成本目前来说,都在可接受的范围内。
但是!即便HTTPS有如此多的好处,我们也没有必要在任何地方都使用HTTPS作为我们的通信协议。
一些典型的例子如内网的通信,使用RESTful进行的内网数据传输或者远程调用,HTTPS显然是不必须的。
实时视频流、大文件的分发和下载,含有数字签名的文件/文档分发,这些目前也没有迫切的需求使用HTTPS。
基于HTTP协议的安全加密传输,自然也没有必要选择HTTPS,因为我们已经进行了加密,再多一层的传输层安全并没有太大的意义。当然这种需求我们一般会直接选择HTTPS传输,但额外的CDN费用是一个理由。