导读:HTTP是一个优秀的通信协议,不过事物皆具有双面性,该协议也是有不足之处,大概有以下几点:
一、HTTP不具备加密功能
HTTP协议本身是没有加密功能,所以无法对请求和响应等内容加密。HTTP报文均采用明文形式,数据包在网络间传输很容易就被人窃取,如使用抓包工具(Wireshark)等。在对数据包进行抓取后进行分析,由于报文是以明文形式传输,如果内容是关于如个人信息等重要隐私则可能会被他人获取后所利用,造成损失。
二、对内容进行加密
对内容加密是一种保护信息的好方法,HTTP是没有加密机制的,所以需要借助第三方来帮助实现加密。对内容加密的方式有很多如:
主要分为两大类,对称加密和非对称加密(对于加密这里就不做深入的讨论,感兴趣的朋友可以去查阅相关资料)。
三、只对内容进行加密的不足之处
所以只对内容加密并不完善,需要一种更加全面的安全解决方案,不仅保证内容安全也要保证通信的安全等多方面--HTTPS。
三、什么是SSL和TSL?
在讨论HTTPS之前得先了解下SSL和TSL协议
SSL技术最初由网景公司主导开发,开发过SSL3.0之前的版本后来主导权转移到IETF。IETF以SSL为原型开发了TSL协议。当前主流版本是SSL3.0和TLS1.0。
四、HTTPS基础概念
HTTPS并不算是一个新协议,是将HTTP协议通信接口部分用SSL和TSL协议代替。如下图所示:
解析:从最初HTTP与TCP直接通信转变为HTTP先与SSL通信,之后SSL再与TCP通信。可以理解为HTTP加多了层SSL协议外套就变为了HTTPS。下面,通过一条公式来表达HTTPS:
HTTP + 加密 + 认证 + 完整性保护 = HTTPS
五、HTTPS是如何进行通信的?
概述:HTTPS通信过程结合了对称加密和非对称加密两种方法。HTTPS服务端在连接建立SSL通信时先会将自身的公钥发送给客户端。客户端拿到公钥后通过非对称加密与服务端协商数据传输通道的对称加密密钥。一旦双方协商出会话密钥,则后续的数据通讯就会一直使用基于该会话密钥的对称加密算法了。
具体流程
六、使用HTTPS是否很完美?
HTTPS由于除了TCP连接、HTTP请求响应之外还需要进行SSL通信所以效率会相对与HTTP慢。其次,客户端和服务端需要进行加密和解密处理,当访问量多时会相对于使用HTTP来说负载增强。另外,进行HTTPS通信需要购买证书,可能对于一些服务或小型网站来说并不划算。
六、HTTPS在哪些场景下应用比较合适?
综上HTTPS的特点,HTTPS适用于多像交易支付等对安全性要求很高的服务进行加密通信,包括一些会包含个人敏感信息的服务等。如果非敏感信息等则使用HTTP通信。
七、总结
HTTP是一个优秀的协议,但是由于其不支持加密等原因导致安全性比较差。提高安全性的方式有多种,如采用加密算法对内容进行加密等。HTTPS协议则提供了较为完善的方案。HTTPS不是一种新协议,是通过HTTP结合SSL/TSL实现了通信安全。但是HTTPS也有其缺点,所以要结合具体场景情况合理地使用才能发挥HTTPS的强大作用。
感谢您的阅读,如果喜欢本文欢迎关注和转发,本头条号将坚持原创,持续分享IT技术知识。对于文章内容有其他想法或意见建议等,欢迎提出共同讨论共同进步。