HTTP与HTTPS区别

  HTTP(超文本传输协议)被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,若是攻击者截取了Web浏览器和网站服务器之间的传输报文,就能够直接读懂其中的信息,所以,HTTP协议不适合传输一些敏感信息,好比:信用卡号、密码等支付信息。算法

  为了解决HTTP协议的这一缺陷,须要使用另外一种协议:安全套接层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通讯加密。浏览器

 

1、HTTP和HTTPS的基本概念缓存

  HTTP:是互联网上应用最为普遍的一种网络协议,是一个客户端和服务器端请求和应答的标准,用于从WWW服务器传输超文本到本地浏览器的传输协议,它可使浏览器更加高效,使网络传输减小。安全

  HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,所以加密的详细内容就须要SSL。HTTPS协议的主要做用能够分为两种:一种是创建一个信息安全通道,来保证数据传输的安全;另外一种就是确认网站的真实性。服务器

2、HTTP与HTTPS有什么区别?网络

  HTTP协议传输的数据都是未加密的,也就是明文的,所以使用HTTP协议传输隐私信息很是不安全,为了保证这些隐私数据能加密传输,因而网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。架构

  简单来讲,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。测试

  HTTPS和HTTP的区别主要以下:网站

    一、https协议须要到ca申请证书,通常免费证书较少,于是须要必定费用。搜索引擎

    二、http是超文本传输协议,信息是明文传输,https则是具备安全性的ssl加密传输协议。

    三、http和https使用的是彻底不一样的链接方式,用的端口也不同,前者是80,后者是443。

    四、http的链接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

3、HTTPS的工做原理

  咱们都知道HTTPS可以加密信息,以避免敏感信息被第三方获取,因此不少银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。

HTTP与HTTPS的区别-马海祥博客

  一、客户端发起HTTPS请求

    这个没什么好说的,就是用户在浏览器里输入一个https网址,而后链接到server的443端口。

  二、服务端的配置

    采用HTTPS协议的服务器必需要有一套数字证书,能够本身制做,也能够向组织申请,区别就是本身颁发的证书须要客户端验证经过,才能够继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl就是个不错的选择,有1年的免费服务)。

这套证书其实就是一对公钥和私钥,若是对公钥和私钥不太理解,能够想象成一把钥匙和一个锁头,只是全世界只有你一我的有这把钥匙,你能够把锁头给别人,别人能够用这个锁把重要的东西锁起来,而后发给你,由于只有你一我的有这把钥匙,因此只有你才能看到被这把锁锁起来的东西。

  三、传送证书

    这个证书其实就是公钥,只是包含了不少信息,如证书的颁发机构,过时时间等等。

  四、客户端解析证书

    这部分工做是有客户端的TLS来完成的,首先会验证公钥是否有效,好比颁发机构,过时时间等等,若是发现异常,则会弹出一个警告框,提示证书存在问题。

若是证书没有问题,那么就生成一个随机值,而后用证书对该随机值进行加密,就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,否则看不到被锁住的内容。

  五、传送加密信息

    这部分传送的是用证书加密后的随机值,目的就是让服务端获得这个随机值,之后客户端和服务端的通讯就能够经过这个随机值来进行加密解密了。

  六、服务端解密信息

    服务端用私钥解密后,获得了客户端传过来的随机值(私钥),而后把内容经过该值进行对称加密,所谓对称加密就是,将信息和私钥经过某种算法混合在一块儿,这样除非知道私钥,否则没法获取内容,而正好客户端和服务端都知道这个私钥,因此只要加密算法够彪悍,私钥够复杂,数据就够安全。

  七、传输加密后的信息

    这部分信息是服务端用私钥加密后的信息,能够在客户端被还原。

  八、客户端解密信息

    客户端用以前生成的私钥解密服务端传过来的信息,因而获取了解密后的内容,整个过程第三方即便监听到了数据,也一筹莫展。

 

4、HTTPS要比HTTP多用多少服务器资源?

  HTTPS其实就是建构在SSL/TLS之上的 HTTP协议,因此,要比较HTTPS比HTTP多用多少服务器资源,主要看SSL/TLS自己消耗多少服务器资源。

HTTP与HTTPS的区别-马海祥博客

HTTP使用TCP三次握手创建链接,客户端和服务器须要交换3个包;HTTPS除了TCP的三个包,还要加上ssl握手须要的9个包,因此一共是12个包。

HTTP创建链接,按照下面连接中针对Computer Science House的测试,是114毫秒;HTTPS创建链接,耗费436毫秒,ssl部分花费322毫秒,包括网络延时和ssl自己加解密的开销(服务器根据客户端的信息肯定是否须要生成新的主密钥;服务器回复该主密钥,并返回给客户端一个用主密钥认证的信息;服务器向客户端请求数字签名和公开密钥)。

 

5、HTTPS的优势

  正是因为HTTPS很是的安全,攻击者没法从中找到下手的地方,从站长的角度来讲,HTTPS的优势有如下2点:

  一、SEO方面

    谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。

  二、安全性

    尽管HTTPS并不是绝对安全,掌握根证书的机构、掌握加密算法的组织一样能够进行中间人形式的攻击,但HTTPS还是现行架构下最安全的解决方案,主要有如下几个好处:

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

    (2)、HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程当中不被窃取、改变,确保数据的完整性。

    (3)、HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增长了中间人攻击的成本。

6、HTTPS的缺点

  虽说HTTPS有很大的优点,但其相对来讲,仍是有些不足之处的,具体来讲,有如下2点:

  一、SEO方面

    据ACM CoNEXT数据显示,使用HTTPS协议会使页面的加载时间延长近50%,增长10%到20%的耗电,此外,HTTPS协议还会影响缓存,增长数据开销和功耗,甚至已有安全措施也会受到影响也会所以而受到影响。

并且HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么做用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家能够控制CA根证书的状况下,中间人攻击同样可行。

  二、经济方面

    (1)、SSL证书须要钱,功能越强大的证书费用越高,我的网站、小网站没有必要通常不会用。

    (2)、SSL证书一般须要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗(SSL有扩展能够部分解决这个问题,可是比较麻烦,并且要求浏览器、操做系统支持,Windows XP就不支持这个扩展,考虑到XP的装机量,这个特性几乎没用)。

    (3)、HTTPS链接缓存不如HTTP高效,大流量网站如非必要也不会采用,流量成本过高。

    (4)、HTTPS链接服务器端资源占用高不少,支持访客稍多的网站须要投入更大的成本,若是所有采用HTTPS,基于大部分计算资源闲置的假设的VPS的平均成本会上去。

    (5)、HTTPS协议握手阶段比较费时,对网站的相应速度有负面影响,如非必要,没有理由牺牲用户体验。

相关文章
相关标签/搜索