〔通信过程〕http 和 https 的区别
🎈 两者的区别#
- 端口:
http
端口号是80,https
端口号是443 - 传输协议:
http
是超文本传输协议,属于明文传输;https
是安全的超文本传输协议,是经过 SSL 加密后的传输协议 - 安全性:
https
使用了TLS/SSL
加密,比http
更加的安全 - 证书:
https
需要申请ca
证书
🎈 HTTP的通信过程#
- 理解: 作为标准的
C/S
模型,http
协议总是由客户端发起,服务端进行响应。 DNS
解析,域名系统DNS
将域名解析成IP地址- 建立
TCP
连接,进行TCP
的三次握手 - 客户端发送请求
- 服务端响应客户端,向客户端发送数据
- 通信完成,
TCP
连接关闭
🎈 HTTPS的通信过程#
- 理解:
https
通信是建立在ssl
连接层之上的请求和响应,客户端将加密组件发送到服务端,服务端进行匹配后将数字证书等信息发送到客户端,客户端进行证书验证,验证通过后使用非对称加密对数据的密钥进行协商,协商后得到对称的加密密钥,然后使用对称算法进行TCP
链接,然后与客户端进行三次握手后,进行数据传输,传输完成后,四次挥手,断开链接,通信结束。 - 客户端和服务端通过
TCP
建立连接,并发送https
请求。 - 服务端响应请求,并将数字证书发送给客户端,数字证书包括
公共秘钥、域名、申请证书的公司
。 - 客户端收到服务端的数字证书之后,会验证数字证书的合法性。
- 如果公钥合格,那么客户端会生成
client key
,一个用于进行对称加密的密钥,并用服务端的公钥对客户端密钥进行非对称加密。 - 客户端会再次发起请求,将加密之后的客户端密钥发送给服务端。
- 服务端接收密文后,会用私钥对其进行非对称解密,得到客户端秘钥。并使用客户端秘钥进行对称加密,生成密文并发送。
- 客户端收到密文,并使用客户端秘钥进行解密,获取数据。
作者:江户川码农
出处:https://www.cnblogs.com/tinygeeker/p/16356496.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
声明:江户川码农的文章禁止转载哦!
分类:
《一文让你搞懂系列》
Buy me a coffee ☕ ?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异