http和https

http和https的基本概念

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

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


一、http存在的问题-不安全

1、http 本身不具备加密的功能,http 报文使用明文方式发送

2、无法确认发送的服务器是不是伪装服务器

3、无法确认返回的客户端是目标客户端

4、请求或响应的运输中,容易遭攻击者拦截并纂改内容
 

由于http的明文传输的特性,在传输过程容易遭拦截、修改或伪造请求,那么https怎么解决上述问题呢?为了保证隐私数据加密传输,网景公司设计了SSL(TLS)协议,用于对http协议传输的数据进行加密,简单说https=http+ ssl(tls) = https

二、接下来主要讲讲http是的原理解析

 根据上图,https整个通讯过程可分为两大阶段:证书验证和数据传输阶段,数据传输阶段又可以分为对称加密和非对称加密阶段,具体流程根据图中序号讲解;

        1、客户端请求 HTTPS 网址,然后连接到 server 的 443 端口 (HTTPS 默认端口,类似于 HTTP 的80端口)。

        2、采用 HTTPS 协议的服务器必须要有一套数字 CA (Certification Authority)证书,证书是需要申请的,并由专门的数字证书认证机构(CA)通过非常严格的审核之后颁发的电子证书 ( (当然了是要钱的,安全级别越高价格越贵))。颁发证书的同时会产生一个私钥和公钥。私钥由服务端自己保存,不可泄漏。公钥则是附带在证书的信息中,可以公开的。

         3、服务器响应客户端请求,将证书传递给客户端,证书包含公钥和大量其他信息,比如证书颁发机构信息,公司信息和证书有效期等。

        4、客户端解析证书并对其进行验证。如果证书不是可信机构颁布,或者证书中的域名与实际域名不一致,或者证书已经过期,就会向访问者显示一个警告,由其选择是否还要继续通信。就像下面这样
       浏览器警告:

浏览器安全警告


         可信任:


 如果证书没有问题,客户端就会从服务器证书中取出服务器的公钥A。然后客户端还会生成一个随机码 KEY,并使用公钥A将其加密。

         5、客户端把加密后的随机码 KEY 发送给服务器,作为后面对称加密的密钥。

         6、服务器在收到随机码 KEY 之后会使用私钥B将其解密。经过以上这些步骤,客户端和服务器终于建立了安全连接,完美解决了对称加密的密钥泄露问题,接下来就可以用对称加密愉快地进行通信了。

        7、服务器使用密钥 (随机码 KEY)对数据进行对称加密并发送给客户端,客户端使用相同的密钥 (随机码 KEY)解密数据。

        8、双方使用对称加密愉快地传输所有数据
 


总结

最后来总结一下http与https的区别、https的缺点:

 HTTPS 和 HTTP 的区别:      

  • 最重要的却别是安全性,http明文传输,安全性较差,https传输过程对数据加密,安全性好
  • http和https使用不同连接方式,用的端口也不同,http是80,https是443
  • https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用

https缺点:

  • https相比http更耗服务器资源,面响应速度较慢,导致陈本较高
  • https需要绑定IP,不能在同一IP上绑定多个域名
  • SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用

参考文献:
http与https
SSL/TLS
加密原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值