好基友:HTTP与HTTPS
Posted 编程帮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了好基友:HTTP与HTTPS相关的知识,希望对你有一定的参考价值。
背景:随着越来越多的主流网站已经使用了HTTPS,作为服务器端开发者
就必须了解HTTPS的优势与劣势。
在HTTP协议中有可能存在信息窃听或身份伪装等问题,而使用HTTPS通信机制可以有效地防止这些问题。
一、HTTP缺点:
1.通信使用明文不对数据进行加密(内容容易被窃听)
2.不验证通信方身份(容易伪装)
3.无法确定报文完整性(内容易被篡改)
二、HTTPS介绍:
什么是HTTPS:与SSL(安全套接层)组合使用的HTTP被称为HTTPS(HTTP Secure,超文本传输安全协议)
加密处理防止窃听:通信加密。HTTP协议与SSL组合使用,加密HTTP的通信内容。用SSL建立安全通信线路之后,就可以在这条线路通信了
HTTP + 加密 + 认证 + 完整性保护 = HTTPS
使用https后网址:
在使用http协议时,HTTP直接与TCP通信,当使用SSL时,则需要先与SSL通信,然后再由SSL和TCP通信。
三、SSL介绍:
在对SSL介绍之前先了解加密方法
主要的加密方法分为两种:一种是共享密钥加密(对称密钥加密),一种是公开密钥加密(非对称密钥加密)
1、共享密钥加密:加密与解密使用同一个密钥
也就是说在加密的同时,也会把密钥发送给对方。在发送密钥过程中可能会造成密钥被窃取,那么如何解决这一问题呢?这个问题解决方案,往后看
2、公开密钥(非对称密钥)
公开密钥使用一对非对称密钥。一把叫私有密钥,另一把叫公开密钥私有密钥不让任何人知道,公有密钥随意发送。
也就是说,发送密文方使用对方的公开密钥进行加密,对方接受到信息后,使用私有密钥进行解密。再不使用私有密钥情况下很难还原信息。
三、混合加密机制
HTTPS采用共享密钥加密和公开密钥加密两者混合加密,两者都有各自的优点。共享密钥加密处理速度快,但密钥无法安全发送给对方;公开密钥加密处理速度慢,但密钥能够安全交换。
但如果我们将两种加密方式一起使用,则两种加密方式就能互补。也就是说,利用公开密钥加密方式安全地交换在共享密钥加密中要使用的密钥,在确保密钥安全前提下,使用共享密钥加密方式进行通信
四、使用证书证明公开密钥的正确性
如何证明收到的公开密钥是原本预想那台服务器发行的密钥。或许在传输途中,真正的公开密钥已经被替换掉了。
为了解决这歌问题可以有数字证书认证机构和相关机构颁发的公开密钥证书,这样就可以确定公开密钥是否正确了。
以上就是我对HTTPS的了解,图片截取自图解HTTP一书。
https://www.cnblogs.com/boycelee/p/6425325.html
END
若觉得文章对你有帮助,随手转发分享,也是我们继续更新的动力。
长按二维码,扫扫关注哦
推荐关注
关注公号
【Python开发与大数据人工智能】
因为关注后即可得算法小白资料大全
点击“阅读原文”,领取 2020 年最新免费技术资料大全
以上是关于好基友:HTTP与HTTPS的主要内容,如果未能解决你的问题,请参考以下文章
async和Generator是一对好基友,且async是主动型
每天十分钟学好ES6--async和Generator是一对好基友