HTTP协议与HTTPS协议之间的联系与区别

1. HTTP和HTTPS的基本概念

  • HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少

  • HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL

    作用:可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性

区别:

  • HTTP 的 URL 以 http:// 开头;HTTPS 的 URL 以 https:// 开头
  • HTTP 的连接是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全
  • HTTP 是超文本传输协议,信息是明文传输;HTTPS 则是具有安全性的SSL加密传输协议
  • HTTP 标准端口是 80;而 HTTPS 的标准端口是 443
  • HTTP无需认证证书;而HTTPS需要认证证书,一般免费证书较少,因而需要一定费用

2. HTTP 的安全风险

  1. 隐私泄露
    由于 HTTP 本身是明文传输,用户和服务端之间的传输内容都能被「中间人」查看。也就是说 你在网上搜索、购物、访问的网页及点击的页面等信息,都可以被「中间人」获取

  2. 页面劫持
    隐私泄露的风险比较隐蔽,用户基本感知不到。但另外一类劫持的影响就非常明显非常直接了——页面劫持,也就是直接篡改用户的浏览页面

3.HTTPS连接建立流程

  1. 客户端向服务端发送报文(报文包括 TLS版本号,支持的加密算法,随机数C)
  2. 服务端返回握手报文信息(最终决定的加密算法,随机数S,证书(公钥))
  3. 客户端进行证书的解析,比如说验证办法机构,过期时间,如果发现没有任何问题,就生成一个随机值(私钥),然后用证书对这个私钥进行加密,并发送给服务端
  4. 服务端使用公钥将进行解密,得到客户端的私钥,然后客户端和服务端就可以通过这个私钥进行通信了

4.HTTPS的优缺点

优点

1、身份认证

使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器

2、内容加密——防窃听

HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取

3、一致性校验——防篡改

通过对数据和共享密钥的 MAC 码来防止中间者篡改消息内容,确保数据的一致性

缺点

1、速度慢

(1) 网络耗时

由于协议的规定,必须要进行的网络传输。比如 SSL 完全握手,302 跳转等。HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电

(2) 计算耗时

无论是客户端还是服务端,都需要进行对称加解密,协议解析,私钥计算,证书校验等计算,增加大量的计算时间

2、成本较高

(1) 服务器成本

HTTPS 的私钥计算会导致服务端性能的急剧下降,甚至不到 HTTP 协议的十分之一,也就是说,如果 HTTP 的性能是 10000cps,HTTPS 的性能可能只有几百 cps,会增加数倍甚至数十倍的服务器成本。

(2) 证书成本

根据证书个数及证书类型,一年可能需要花费几百到几百万不等的证书成本。

(3) 开发和运维成本

HTTPS 协议比较复杂,包括协议的配置,证书的更新,过期监控,客户端的兼容等一系列问题都需要具备专业背景的技术人员跟进处理。

猜你喜欢

转载自blog.csdn.net/weixin_44257930/article/details/108829653