Citycms用图示的方式为大家讲解http和https的关系与优缺点

[复制链接]
作者: murillo | 时间: 2024-4-23 18:07:29 |
0 87

2010

主题

2010

帖子

6030

积分

研究生

Rank: 9Rank: 9Rank: 9

积分
6030
发表于 2024-4-23 18:07:29| 显示全部楼层 |阅读模式
很多建站的小伙伴很好奇,网站明明已经做好了,也可以正常访问了,为什么还要加ssl、https?
最近啊,一个找我们做站群网站的客户,我们免费为其添加了SSL,并做了301跳转;网站交付给他的时候,他好奇的问了句:我的网站链接怎么变成https://了,为什么不是http://?
出于职业素养以及对客户认真负责的态度,写了这篇文章,旨在帮助客户答疑!
有不懂的小伙伴也不妨看下,对你的建站肯定有帮助!
首先解释下http
http是超文本传输协议,信息是明文传输;“http://”是咱们浏览网页最最最常见的一种表达显示方式,据不完全统计全世界约有95%的网页默认使用的是http协议;
https 则是具有安全性的ssl加密传输协议,说白了就是在http的基础上进行加密,而衍生出了https;二者有相似又有区别,至于二者的区别,http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
http的缺点很明显,用三张图做演示;
下图1表示:通信使用明文,内容随时可能被他人窃听;

下图2表示:不验证通信方身份,因此有可能遭遇伪装

下图3说明:无法验证报文的完整性,所以有可能已被篡改;

为了解决以上可能发生的问题,而衍生出了https,看下图
http + 加密 + 认证 + 完整性保护 = https

上图很明白的展示了https的由来,其实https就是身披SSL外壳的http
通常情况下http是直接和TCP层进行通信的。当使用SSL(安全套阶字)时,则演变成http先和SSL通信,SSL再和TCP通信,就是增加了这样一个过程。

什么事SSL加密技术?
讲解SSL前,科普一下加密方法,SSL采用的是一种叫做公开密钥加密的加密处理方式;
其中之一就是对称加密,何为对称加密?
加密和解密用同一套密钥的方式称为对称加密,也叫做共享密钥加密;看下图解密:

对称加密在发送加密信息时也需要将密钥发送给对方,但这样可以被攻击者截取,那就相当不安全啦~

这就又出现了“非对称加密”;
非对称加密又称作公开密钥加密,它很好的解决了对称加密密钥被截取的问题。
非对称加密采用一对非对称的密钥,一把叫做私有密钥,一把叫做共有密钥。
使用非对称加密,发送密文一方使用对方的共有密钥进行加密处理,对方收到加密信息后,再使用自己的私有密钥进行解密;看下图释义:

https采用混合加密机制;
https采用对称加密和非对称加密所混合的加密机制。
若密钥能安全交换,那么有可能仅考虑非对称加密;
但是非对称加密与对称加密相比,处理速度相对较慢。
公开密钥的认证
使用数字证书认证机构和其颁布的公开密钥证书进行认证。即让第三方独立机构进行验证。


私有密钥是保存在服务器端的~
注意⚠️:认证是要钱的!!!
HTTPS安全通信机制

下图是完整的HTTPS的通信过程

为什么https不是那么普及?肯定是有原因的,往下看:
1、加密通信与纯文本通信相比,消耗更多的CPU和内存资源;
2、购买证书是要钱的!
3、少许对客户端有要求的情况下,会要求客户端也必须有一个证书。
这里的客户端证书,其实就类似展示个人信息的时候,除了用户名和密码,还有一个CA 认证过的身份;这个个人证书一般来说别人是无法模拟的,所有这样能够更深的确认自己的身份;
目前少数个人银行的专业版是这种做法,具体证书可能是拿U盘作为一个备份的载体;常见的就是银行给客户的一个U盘样式的U盾!
记着,https一定要是繁琐的;
1、本来简单的http协议,一个get一个response。由于https 需要密钥和确认加密算法的;传输一次就需要6、7个往返;在任何应用中,过多的round trip肯定影响服务器性能;
2、接下来才是具体的http协议,每一次响应或者请求,都要求客户端和服务端对会话的内容做加密/解密,尽管对称加密/解密效率比较高,可是仍然要消耗过多的CPU,为此有专门的SSL芯片;如果CPU性能比较低的话,肯定会降低性能,从而不能server更多的请求;加密后对数据量的影响,所以才会出现那么多的安全认证提示!
网站使用https的好处与坏处!
今天我们重点讨论一下网站使用https的好处与坏处,如果有对https原理不了解的小伙伴,可以参考上面写的http和https的关系与区别(附图解)。
https的好处:
1、SEO方面
谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等http网站,采用https加密的网站在搜索结果中的排名将会更高”;意思就是相同内容的网站,用https协议的比用http协议的将有更好的排名!
百度也于2016年也在站长平台声明,https有一定的排名优待。
2、安全性
尽管https并非绝对安全,因为加密是相对的;掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的公司,但https仍是现行架构下最安全的解决方案,除非你另创立一套自己的“互联网”;https安全性主要有以下几个好处:
(1)、使用https协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;
(2)、https协议是由SSL+http协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。
(3)、https是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
https的坏处:
虽然说https有很大的优势,但其相对来说,还是有些不足之处,具体来说,有以下2点:
1、SEO方面
据ACM CoNEXT数据显示,使用https协议会使页面的加载时间延长近50%,增加10%到20%的耗电,此外,https协议还会影响缓存,增加数据开销和功耗,甚至已有安全措施也会受到影响也会因此而受到影响。
而https协议的加密范围也比较有限,在黑客攻击https证书服务器,https服务器被劫持后,以上加密方案几乎起不到什么作用。
最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。
2、经济方面
(1)、SSL证书需要付费购买;功能越强大的证书费用越高,个人网站、小网站预算有限,在没有必要的情况下,一般是不会用的。
(2)、SSL证书通常需要绑定IP,或者域名解析,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗(SSL有扩展可以部分解决这个问题,但是比较麻烦,而且要求浏览器、操作系统支持,Windows XP就不支持这个扩展,考虑到XP的装机量,这个特性几乎没用)。
(3)、https连接缓存不如http高效,大流量网站如非必要也不会采用,流量成本太高。
(4)、https连接服务器端资源占用高很多,支持访客稍多的网站需要投入更大的成本,如果全部采用https,基于大部分计算资源闲置的假设的VPS的平均成本会上去。
(5)、https协议握手阶段比较费时,对网站的响应速度有负面影响,如非必要,没有理由牺牲用户体验。
当然了,现在https已经趋于成熟,很多缺点是可以优化和弥补的。比如:打开速度问题完全可以通过CDN加速解决,很多IDC也在着手推出免费证书和一站式https搭建服务,不久https成本将会大大缩小!
3、实际应用方面
某些网站在调用第三方网站信息时,在http协议下,这种调用没什么问题;但是当应用了https协议时,这种调用在不采取其他措施的情况下,是行不通的;最常见的就是调用第三方视频显示空白;调用第三方网页,也是显示空白!

来源:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 返回顶部