背景:随着愈来愈多的主流网站已经使用了HTTPS,新版本i西科也由原来的HTTP改为了HTTPS。做为服务器端开发者,就必须了解HTTPS的优点与劣势。安全
在HTTP协议中有可能存在信息窃听或身份假装等问题,而使用HTTPS通讯机制能够有效地防止这些问题。服务器
1、HTTP缺点:网站
1.通讯使用明文不对数据进行加密(内容容易被窃听)加密
2.不验证通讯方身份(容易假装)blog
3.没法肯定报文完整性(内容易被篡改)图片
2、HTTPS介绍:开发
什么是HTTPS:与SSL(安全套接层)组合使用的HTTP被称为HTTPS(HTTP Secure,超文本传输安全协议)服务器端
加密处理防止窃听:通讯加密。HTTP协议与SSL组合使用,加密HTTP的通讯内容。用SSL创建安全通讯线路以后,就能够在这条线路通讯了方法
HTTP + 加密 + 认证 + 完整性保护 = HTTPSim
使用https后网址:
在使用http协议时,HTTP直接与TCP通讯,当使用SSL时,则须要先与SSL通讯,而后再由SSL和TCP通讯。
3、SSL介绍:
在对SSL介绍以前先了解加密方法
主要的加密方法分为两种:一种是共享密钥加密(对称密钥加密),一种是公开密钥加密(非对称密钥加密)
一、共享密钥加密:加密与解密使用同一个密钥
也就是说在加密的同时,也会把密钥发送给对方。在发送密钥过程当中可能会形成密钥被窃取,那么如何解决这一问题呢?这个问题解决方案,日后看
二、公开密钥(非对称密钥)
公开密钥使用一对非对称密钥。一把叫私有密钥,另外一把叫公开密钥私有密钥不让任何人知道,公有密钥随意发送。
也就是说,发送密文方使用对方的公开密钥进行加密,对方接受到信息后,使用私有密钥进行解密。再不使用私有密钥状况下很难还原信息。
3、混合加密机制
HTTPS采用共享密钥加密和公开密钥加密二者混合加密,二者都有各自的优势。共享密钥加密处理速度快,但密钥没法安全发送给对方;公开密钥加密处理速度慢,但密钥可以安全交换。
但若是咱们将两种加密方式一块儿使用,则两种加密方式就能互补。也就是说,利用公开密钥加密方式安全地交换在共享密钥加密中要使用的密钥,在确保密钥安全前提下,使用共享密钥加密方式进行通讯
4、使用证书证实公开密钥的正确性
如何证实收到的公开密钥是本来预想那台服务器发行的密钥。或许在传输途中,真正的公开密钥已经被替换掉了。
为了解决这歌问题能够有数字证书认证机构和相关机构颁发的公开密钥证书,这样就能够肯定公开密钥是否正确了。
以上就是我对HTTPS的了解,图片截取自图解HTTP一书。