http与https的介绍

来源:互联网 发布:魅动力知乎 编辑:程序博客网 时间:2024/04/29 21:57

1.http和https的基本区别

http协议以明文传输,数据不安全,使用的端口是80;https协议是由ssl+http协议构建的可进行加密传输、身份认证的协议,数据安全,使用的端口是443,需要CA机构颁发的数字证书

2.https的工作原理

1)客户端向服务器发起https请求,请求连接服务器的443端口
2)采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面。
这套证书实际上就是一对公钥和私钥,什么是公钥和私钥呢?这里举个简单的例子,可以想象成一个锁头(公钥)和一把钥匙(私钥),只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。这实际上就是非对称加密的原理
3)服务器向客户端发送一个证书,这个证书实际上就是公钥,但还包含其他的一些信息如颁发机构、过期时间等。
4)客户端收到服务器发来的证书后需要对证书进行解析,验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果没有问题则产生一个随机值,然后使用该证书对该随机值进行加密
5)客户端将加密后的随机值发送给服务器,服务器使用私钥进行解密得到随机值
6)服务器使用随机值对信息进行加密并发送给客户端
7)客户端使用随机值对收到的信息进行解密

一般握手过程采用到的非对称加密算法如RSA,信息传输过程使用到对称加密算法如RC4、AES等,报文认证信息使用哈希算法如MD5,SHA-1

3.http和https各自的优缺点

http优点是简单快速,缺点是不安全
https优点是安全,缺点是占用服务器资源多,认证握手过程耗时,响应慢


0 0
原创粉丝点击