资讯专栏INFORMATION COLUMN

小结http和https的区别

vspiders / 3370人阅读

摘要:和的区别主要如下协议需要到申请证书,一般免费证书较少,因而需要一定费用。是超文本传输协议,信息是明文传输,则是具有安全性的加密传输协议。的优点安全性搜索从方面来参考,发现百度和谷歌是不同的。

先来看下他们的定义吧

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

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

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

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

HTTPS和HTTP的区别主要如下:

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

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

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

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

下面看下https的工作原理

1、客户端发起HTTPS请求

用户在浏览器里输入一个https网址,然后连接到server的443端口。

2、服务端的配置

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

这套证书其实就是一对公钥和私钥,如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。

3、传送证书

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

4、客户端解析证书

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

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

5、传送加密信息

这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

6、服务段解密信息

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

7、传输加密后的信息

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

8、客户端解密信息

客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容,整个过程第三方即使监听到了数据,也束手无策。

https的优点

1.安全性
2.seo搜索????

从 SEO 方面来参考,发现百度和谷歌是不同的。谷歌在 HTTPS 站点的收录问题上与对 HTTP 站点态度 并无什么不同之处,甚至把“是否使用安全加密”(HTTPS)作为搜索排名算法中的一个参考因素,采用 HTTPS 加密技术的网站能得到更多的展示机会。百度曾表示不主动抓取 HTTPS 网页,所以目前采取 HTTPS 的网站是很难被百度收录的,不过有消息称百度接下来可能会向谷歌靠拢,对于 HTTPS 页面同样主动抓取

https的缺点
1.经济方面

(1)SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。

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

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

(4)HTTPS连接服务器端资源占用高很多,支持访客稍多的网站需要投入更大的成本,如果全部采用HTTPS,基于大部分计算资源闲置的假设的VPS的平均成本会上去。

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/95826.html

相关文章

  • http 缓存小结

    摘要:为了优化性能,使用缓存是一种比较常见的手段。由于篇幅原因,本篇重点讲述缓存。缓存未命中达缓存的请求没有副本可用,而被转发给原始服务器,与缓存命中相反。协商缓存协商缓存是在用户强缓存失败的情况下,向服务器端进行再验证。 为了优化性能,使用缓存是一种比较常见的手段。那么如何实现缓存以及如何避免缓存呢,都是要探讨的话题。可以从三个部分:http 缓存、cookie、localStorage&...

    miguel.jiang 评论0 收藏0
  • SpringBoot RESTful 应用中异常处理小结

    摘要:和的区别方法注解作用于级别注解为一个定义一个异常处理器类注解作用于整个工程注解定义了一个全局的异常处理器需要注意的是的优先级比高即抛出的异常如果既可以让标注的方法处理又可以让标注的类中的方法处理则优先让标注的方法处理处理中的异常为了方便地展 @ControllerAdvice 和 @ExceptionHandler 的区别 ExceptionHandler, 方法注解, 作用于 Co...

    jackzou 评论0 收藏0
  • 前端面试题小结

    摘要:如何解决不同终端的适配问题弹性盒子,非常不错的选择的运行流程生命周期生命周期优化解释中虚拟存在的好处为什么可以解决跨域问题地址栏输入流程总结初级阶段是会用。 前几天也是有人问我的一些问题,我觉得还是挺有了解价值的,也是一些平时开发可能比较会忽略的问题。别的不多说,直接开门见山: 1.post和get的区别? 我们都知道GET和POST是HTTP请求的两种基本方法。我相信如果有人问到你这...

    fuchenxuan 评论0 收藏0
  • 前端面试题小结

    摘要:如何解决不同终端的适配问题弹性盒子,非常不错的选择的运行流程生命周期生命周期优化解释中虚拟存在的好处为什么可以解决跨域问题地址栏输入流程总结初级阶段是会用。 前几天也是有人问我的一些问题,我觉得还是挺有了解价值的,也是一些平时开发可能比较会忽略的问题。别的不多说,直接开门见山: 1.post和get的区别? 我们都知道GET和POST是HTTP请求的两种基本方法。我相信如果有人问到你这...

    silenceboy 评论0 收藏0
  • 前端面试题小结

    摘要:如何解决不同终端的适配问题弹性盒子,非常不错的选择的运行流程生命周期生命周期优化解释中虚拟存在的好处为什么可以解决跨域问题地址栏输入流程总结初级阶段是会用。 前几天也是有人问我的一些问题,我觉得还是挺有了解价值的,也是一些平时开发可能比较会忽略的问题。别的不多说,直接开门见山: 1.post和get的区别? 我们都知道GET和POST是HTTP请求的两种基本方法。我相信如果有人问到你这...

    wangtdgoodluck 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<