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)。
相关推荐
liu****3 小时前
18.HTTP协议(一)
linux·网络·网络协议·http·udp·1024程序员节
赖small强3 小时前
【ZeroRange WebRTC】KVS WebRTC 示例中的 HTTP 通信安全说明
https·webrtc·tls·aws sigv4·信道安全·时间与重放控制
拾忆,想起4 小时前
Dubbo异步调用实战指南:提升微服务并发性能
java·服务器·网络协议·微服务·云原生·架构·dubbo
阿巴~阿巴~10 小时前
基于UDP协议的英汉翻译服务系统:从网络通信到字典查询的完整机制
linux·服务器·网络·网络协议·udp协议·套接字绑定·英汉翻译服务系统
another heaven11 小时前
【计算机网络 HTTP 请求参数规范详解】
网络协议·计算机网络·http
慧慧吖@13 小时前
sse,短轮询,长轮询,webSocket
网络·websocket·网络协议
AiXed18 小时前
PC微信协议之nid算法
python·网络协议·算法·微信
赖small强20 小时前
【ZeroRange WebRTC】Amazon Kinesis Video Streams WebRTC Data Plane REST API 深度解析
https·webrtc·data plane rest·sigv4 签名
Laravel技术社区21 小时前
海康视频 h5player 配置 proxy 代理websocket播放视频问题(websocket在业务系统https方式访问http的播放视频)
websocket·http·音视频
果壳~21 小时前
【Java】使用国密2,3,4.仿照https 统一请求响应加解密
java·https