面试官:来说说https和http区别?

HTTP和HTTPS的主要区别在于安全性和连接方式。HTTP协议信息是明文传输,无状态,使用端口80,而HTTPS协议通过SSL/TLS加密,确保数据安全,使用端口443,具有身份认证功能。HTTPS通过公钥加密和数字证书保证通信安全,使用对话密钥减少加密计算量。其握手阶段包括验证公钥、协商对话密钥和加密通信。
摘要由CSDN通过智能技术生成

http https的区别?

一、传输信息安全性不同
  • 1、http协议:是超文本传输协议,信息是明文传输。如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。

  • 2、https协议:是具有安全性的ssl加密传输协议,为浏览器和服务器之间的通信加密,确保数据传输的安全。

二、连接方式不同
  • 1、http协议:http的连接很简单,是无状态的。

  • 2、https协议:是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。

三、端口不同
  • 1、http协议:使用的端口是80。

  • 2、https协议:使用的端口是443.

四、证书申请方式不同

1、http协议:免费申请。2、https协议:需要到ca申请证书,一般免费证书很少,需要交费。传输信息安全性不同、连接方式不同、端口不同、证书申请方式不同

一、传输信息安全性不同
  • 1、http协议:是超文本传输协议,信息是明文传输。如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。

  • 2、https协议:是具有安全性的ssl加密传输协议,为浏览器和服务器之间的通信加密,确保数据传输的安全。

二、连接方式不同
  • 1、http协议:http的连接很简单,是无状态的。

  • 2、https协议:是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。

三、端口不同
  • 1、http协议:使用的端口是80。

  • 2、https协议:使用的端口是443.

https做了什么保证它是安全的?

使用,SSL/TLS协议来保证https的安全。

SSL/TLS协议的基本思路是采用公钥加密法,也就是说,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密。

  • (1)客户端向服务器端发起SSL连接请求;

  • (2) 服务器把公钥发送给客户端,并且服务器端保存着唯一的私钥

  • (3)客户端用公钥对双方通信的对称秘钥进行加密,并发送给服务器端

  • (4)服务器利用自己唯一的私钥对客户端发来的对称秘钥进行解密,

  • (5)进行数据传输,服务器和客户端双方用公有的相同的对称秘钥对数据进行加密解密,可以保证在数据收发过程中的安全,即是第三方获得数据包,也无法对其进行加密,解密和篡改。

如何保证公钥不被篡改?

将公钥放在数字证书中。只要证书是可信的,公钥就是可信的。

公钥加密计算量太大,如何减少耗用的时间?

每一次对话(session),客户端和服务器端都生成一个”对话密钥”(session key),用它来加密信息。

由于”对话密钥”是对称加密,所以运算速度非常快,而服务器公钥只用于加密”对话密钥”本身,这样就减少了加密运算的消耗时间。

  • (1) 客户端向服务器端索要并验证公钥。

  • (2) 双方协商生成”对话密钥”。

  • (3) 双方采用”对话密钥”进行加密通信。上面过程的前两步,又称为”握手阶段”(handshake)。

参考资料

  • https://zhuanlan.zhihu.com/p/354021419

  • https://segmentfault.com/a/1190000039683023

  • http://blog.itblood.com/1116.html

往期推荐

Spring Boot 中关于 %2e 的 坑,希望你不要遇到

MySQL  Binlog 日志处理工具都有那些?

面试官:作为架构师,请你谈谈Saas 应用如何搭建?

SpringBoot中微服务技术中进程间通信原理

Spring Boot 接入支付宝支付案例教程!

Spring Boot 中的Http接口调用只知道 RestTemplate?来试下 Retrofit !

Java中关于线程同步,你会用到的4个类

数据库消耗 CPU 最高的 sql 语句如何定位?

怎么样通过Nginx实现限流?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值