网络协议

1、Http和Https有什么区别?

      一,Http和Https的基本概念

                    

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

 

                    Https:是以安全为目标的Http通道,简单讲是Http的安全版,即Http下加入SSL层,Https的安全基础是SSL,因此                加密的详细内容就需要SSL。Https下一的主要作用可以分为两种:一种是简历一个信息安全通道,来保证数据传输的安                  全;另一种就是确认网站的真实性

 

      二,Http与Https有什么区别?

 

                   Http协议传输的数据都是未加密的,也就是明文的,因此使用Http协议传输隐私信息非常不安全,为了保证这些隐私                数据能加密传输,于是美国的NetScape(网景)公司设计了SSL(Secure Sockets Layer)协议用于Http协议传输的数                据进行加密,从而诞生了Https。

                         Httos加密,验证过程(如下图)

网络协议

简单来说,Https协议是由SSL+Http协议构建的可进行加密传输,身份认证的网络协议,要比Http协议安全

HTTPS和HTTP的区别主要如下:

  1. https协议需要到ca申请证书(数字证书授权颁发中心,常用申请地址:https://freessl.wosign.com/),一般免费证书较少,因而需要一定的费用。
  2. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  3. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  4. http的链接很简单,是无状态的;https协议是由ssl+http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

三、HTTPS的工作原理

     我们都知道 HTTPS 能够加密信息,以免敏感信息被第三方获取,所以很多银行网站或电子邮箱等等安全级别
较高的服务都会采用 HTTPS 协议

网络协议

  1. 客户端发起HTTPS请求
    这个没啥好说的,就是用户在浏览器里输入一个https网址,然后链接到server的443端口。
  2. 服务端的配置
    采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl就是个不错的选择,有1年的免费服务)。
    这套证书其实就是一对公钥和私钥,如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。
  3. 传送证书
    这个帧数其实就是公钥,只是包含了很多信息,入证书的颁发机构,过期时间等等。
  4. 客户端解析证书
    这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随机值,然后用证书对该随机值进行加密,就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,不然看不到被锁住的内容。
  5. 传送加密信息
    这部分传送的使用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密了。
  6. 服务端解密信息
    服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密,所谓对称加密就是,将信息和私钥通过某种算法混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。
  7. 传输加密后的信息
    这部分信息是服务端用私钥加密后的信息,可以在客户端被还原。
  8. 客户端解密信息
    客户端用之前生成的私钥解密服务端传过来的信息,于是获取了解密后的内容,整个过程第三方即使监听到了数据,也束手无策。

四、HTTPS的优点

正是由于HTTPS非常的安全,攻击者无法从中找到下手的地方,从站长的角度来说,HTTPS的优点有以下两点:

  1. SEO(搜索引擎优化,就是如何让自己的网站排名更前)方面
    谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中排名将会更高”。
  2. 安全性
    尽管https并非绝对安全,掌握根证书的机构、将我加密算法的组织同样可以进行中间人形势的攻击,但HTTPS仍实现性架构下最安全的解决方案。

五、HTTPS的缺点

虽然说 HTTPS 有很大的优势,但其相对来说,还是有些不足之处的,具体来说,有以下 2 点:

  1. SEO 方面
    据 ACM CoNEXT 数据显示,使用 HTTPS 协议会使页面的加载时间延长近 50%,增加 10%到 20%的耗电,
    此外,HTTPS 协议还会影响缓存,增加数据开销和功耗,甚至已有安全措施也会受到影响也会因此而受到影响。
    而且 HTTPS 协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。
    最关键的,SSL 证书的信用链体系并不安全,特别是在某些国家可以控制 CA 根证书的情况下,中间人攻击一样可
    行。
  2. 经济方面
    (1)、SSL 证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。
    (2)、SSL 证书通常需要绑定 IP,不能在同一 IP 上绑定多多个域名,IPv4 资源不可能支撑这个消耗(SSL 有
    扩展可以部分解决这个问题,但是比较麻烦,而且要求浏览器、操作系统支持,Windows XP 就不支持这个扩展,考虑到 XP 的装机量,这个特性几乎没用)
    (3)、HTTPS 连接缓存不如 HTTP 高效,大流量网站如非必要也不会采用,流量成本太高。
    (4)、HTTPS 连接服务器端资源占用高很多,支持访客稍多的网站PS,基于大部分计算资源闲置的假设的 VPS 的平均成本会上
    (5)、HTTPS 协议握手阶段比较费时,对网站的相应速度有负面影响,如非必要,没有理由牺牲用户体