https 和 http 有什么区别?

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申请证书,一般免费证书很少,需要交费。传输信息安全性不同、连接方式不同、端口不同、证书申请方式不同

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

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

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

  • 客户端向服务器端发起SSL连接请求;
  • 服务器把公钥发送给客户端,并且服务器端保存着唯一的私钥
  • 客户端用公钥对双方通信的对称秘钥进行加密,并发送给服务器端
  • 服务器利用自己唯一的私钥对客户端发来的对称秘钥进行解密,
  • 进行数据传输,服务器和客户端双方用公有的相同的对称秘钥对数据进行加密解密,可以保证在数据收发过程中的安全,即是第三方获得数据包,也无法对其进行加密,解密和篡改。

如何保证公钥不被篡改?

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

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

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

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

  • (1) 客户端向服务器端索要并验证公钥。
  • (2) 双方协商生成"对话密钥"。
  • (3) 双方采用"对话密钥"进行加密通信。上面过程的前两步,又称为"握手阶段"(handshake)。
相关推荐
yi碗汤园2 小时前
MQTT消息队列遥测传输协议
网络·网络协议·unity
花间相见4 小时前
【后端开发|网络编程】—— 五种实时通信方案全解析:短轮询、长轮询、SSE、MQTT、WebSocket
后端·网络协议
其实防守也摸鱼8 小时前
DeepSeek Harness 开源贡献手记:从入门到合入主线
服务器·数据库·windows·https·ssl
Lsetea8 小时前
OpenSSL快速生成域名证书:含SAN的自签命令、验证与排错
nginx·https·ssl证书·openssl·自签证书
AKA__Zas9 小时前
跨网段主机的文件传输过程
java·网络·网络协议·学习方法
2501_9160088910 小时前
SSE 和 gRPC 流式接口如何抓包,调试 SSE 与 gRPC 流式接口
网络协议·计算机网络·网络安全·ios·adb·https·udp
其实防守也摸鱼10 小时前
堆叠注入(Stacked Injection)详解
服务器·数据库·windows·https·ssl
鱼月半1 天前
两台电脑直连网络不通怎么办?
linux·网络协议
布莱克6051 天前
HTTP 状态码详解:从分类到实战
计算机网络·http·状态码
StevenSurpass1 天前
打印业务彻底解耦:FastPrintAgent 统一 JSON 模型 + FastReport 引擎的设计与落地
mqtt·http·中间件·打印·fastreport