HTTP/HTTPS协议详解(下)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: HTTP/HTTPS协议详解

二. HTTPS详解


✅2.1 HTTPS简介

其实 HTTP 和 HTTPS 没有太大的本质区别,他们可以说是一对孪生兄弟,只不过 HTTPS在 HTTP 的基础上进行了加密;

173077a81f014cf7ab83a60c6bb42c2c.png


✅2.2 HTTPS加密过程

1)对称加密

b33fa76529a945488c59d7ab1c829b34.gif

首先,客户端生成一个密钥key,通过key对所发送的数据进行加密,然后发送到服务器端,服务器端接收到之后,进行解密,再返回响应的响应给客户端,这一切看似平静祥和,但是如果中间出现一个黑客,在你转发的路由节点对这个key进行截获,也是轻而易举的事情,那么数据的安全性就得不到保障了;所以这里又引入了非对称加密;


2)非对称加密


非对称加密要用到两个密钥, 一个叫做 "公钥", 一个叫做 "私钥";


公钥和私钥是配对的. 最大的缺点就是运算速度非常慢,比对称加密要慢很多;

通过公钥对明文加密, 变成密文

通过私钥对密文解密, 变成明文

f1e819e46329475980115179aec96540.png

对于非对称加密的工作流程是这样的:


1.客户端的目的的是想要自己的对称密钥key安全的传输给服务器;


2.首先客户端向服务器端索要公钥,然后服务器端把公钥返回给客户端,此时如果中间有黑客劫持的话,他也得到了公钥pub;


3.客户端使用pub对key进行加密,再发送给服务器端,但是此时黑客并不能截获这个key,因为这个key是被pub加密过的,只有服务器的私密pri才可以解开;


4.服务器端使用私密pri进行解密,得到了客户端发来的key;


3)证书加密


对于上述的非对称加密,看似是安全了,其实还是存在漏洞的,假设中间有黑客想要拦截数据,在第一步的过程中,服务器端返回公钥给客户端,黑客通过自己生成一对非对称密钥,把自己的公钥返回给客户端,这样一来,数据的安全性又得不到保障了;这里也就引入了证书加密进行安全的保障;证书这个东西是具有权威的官方机构下发的,黑客对此也束手无策,因此这样保证了安全性;


4)总结整个过程:


步骤1:客户端向服务器发送 HTTPS 请求


当客户端需要从服务器获取数据时,它会向服务器发送一个 HTTPS 请求。这个请求包括请求的 URL、HTTP 请求头和请求体;


步骤2:服务器将公钥证书发送给客户端


当服务器接收到 HTTPS 请求后,它会将公钥证书发送给客户端,公钥证书中包含了服务器的公钥、服务器的域名、证书颁发机构、证书有效期等信息,客户端接收到证书后,会从中提取出服务器的公钥;


步骤3:客户端验证服务器的证书


客户端接收到服务器的证书后,会对其进行验证,以确保该证书是由可信任的证书颁发机构颁发的,并且证书中的域名和服务器的实际域名一致,如果证书验证失败,客户端会中断连接。如果验证通过,客户端会生成一个用于会话的对称密钥;


步骤4:客户端生成一个用于会话的对称密钥


客户端生成一个用于会话的对称密钥。对称密钥是一种加密方式,它使用相同的密钥进行加密和解密。这个密钥只存在于客户端和服务器之间,因此被称为“对称”。


步骤5:客户端使用服务器的公钥对对称密钥进行加密,并将加密后的密钥发送给服务器


客户端使用服务器的公钥对对称密钥进行加密,并将加密后的密钥发送给服务器。在这个过程中,客户端和服务器都知道对称密钥,但是只有客户端知道对称密钥的值。


步骤6:服务器使用私钥对客户端发送的加密密钥进行解密,得到对称密钥


服务器使用私钥对客户端发送的加密密钥进行解密,得到对称密钥。由于私钥只在服务器端保存,因此只有服务器才能解密客户端发送的加密密钥,并得到对称密钥的值;


步骤7:服务器和客户端使用对称密钥进行加密和解密数据传输


服务器和客户端使用对称密钥进行加密和解密数据传输。这个对称密钥只存在于客户端和服务器之间,因此对数据的加密和解密只有客户端和服务器可以进行;

029c528304c6439e9d9b27dcf6ecf836.png

目录
相关文章
|
1月前
|
缓存 安全 网络协议
HTTP和HTTPS的区别有哪些?
本文简要总结了 HTTP 和 HTTPS 的区别,从概念、端口、连接方式、使用场景、安全性等多个角度进行了对比。HTTP 是无状态的、无连接的应用层协议,适用于一般性网站和性能要求较高的应用;HTTPS 则通过 SSL/TLS 层提供加密、认证和完整性保护,适用于涉及敏感信息和高安全性的场景。文章还讨论了两者在性能上的差异,包括握手和加密开销、缓存效果以及 HTTP/2 的多路复用技术。最终,根据具体需求选择合适的协议能够更好地平衡安全性和性能。
102 2
HTTP和HTTPS的区别有哪些?
|
20天前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
36 3
|
8天前
|
算法 网络协议 安全
HTTP/2 协议的缺点是什么?
HTTP/2 协议的缺点是什么?
|
8天前
|
缓存 安全 网络安全
HTTP/2与HTTPS在Web加速中的应用
HTTP/2与HTTPS在Web加速中的应用
|
8天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
38 3
|
19天前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
46 13
|
12天前
|
传感器 缓存 网络协议
CoAP 协议与 HTTP 协议的区别
CoAP(Constrained Application Protocol)协议是为资源受限的设备设计的轻量级协议,适用于物联网场景。相比HTTP,CoAP具有低功耗、低带宽占用和简单易实现的特点,支持多播通信和无连接的交互模式。
|
17天前
|
开发者
HTTP 协议请求方法的发展历程
【10月更文挑战第21天】
|
17天前
|
安全
HTTP 协议的请求方法
【10月更文挑战第21天】
|
17天前
|
缓存 安全 前端开发
HTTP 协议的请求方法在实际应用中有哪些注意事项?
【10月更文挑战第29天】HTTP协议的请求方法在实际应用中需要根据具体的业务场景和需求,合理选择和使用,并注意各种方法的特点和限制,以确保网络通信的安全、高效和数据的一致性。

热门文章

最新文章

下一篇
无影云桌面