HTTPS通信的加密问题

如大家所了解的,在未加密的 HTTP 中,客户端会打开一条道 web 服务器端口 80 的 TCP 连接,发送一条请求报文,接收一条响应报文,关闭连接。

在 HTTPS 通信中:

  1. 由于 SSL 安全层的存在,客户端首先打开一条道web服务器端口 443(安全HTTP的默认端口)的连接。
  2. 一旦建立了 TCP 连接,客户端和服务器就会初始化 SSL 层,对加密参数进行沟通,并交换密钥,进行 SSL 握手。
  3. 握手完成之后,SSL 初始化就完成了,客户端就可以将请求报文发送给安全层了
  4. 在将这些报文发送给 TCP 之前,要先对其进行加密

在发送已加密的 HTTP 报文之前,客户端和服务器要进行一次 SSL 握手,这个过程中,它们要完成以下工作:

  1. 交换协议版本号
  2. 选择一个两端都了解的密码
  3. 对两端的身份进行验证
  4. 生成临时的会话密钥,以便加密信道

需要注意的是:SSL 是一个二进制协议,且在通过网络传输任何已加密的 HTTP 数据前,SSL 已经发送了一组握手数据来建立通信连接了。

相关推荐
努力学习的小廉1 小时前
深入了解linux网络—— TCP网络通信(上)
linux·网络·tcp/ip
爱尚你19932 小时前
Nginx proxy_pass 末尾斜杠(/)
服务器·网络·nginx
字节高级特工3 小时前
网络协议分层与Socket编程详解
linux·服务器·开发语言·网络·c++·人工智能·php
tt5555555555554 小时前
计算机网络基础详解:从OSI模型到HTTP/HTTPS与Socket编程
计算机网络·http·https
light_in_hand4 小时前
NAT 机制的工作流程
网络
Pan Zonghui5 小时前
腾讯云COS通过CDN加速配置指南
网络·云计算·腾讯云
FPGA_Linuxer5 小时前
vivado自定义IP显示只读解决办法
网络·网络协议·tcp/ip
北'辰6 小时前
使用ENSP实现HCIA-DATACOM-综合实验
运维·网络
百花~6 小时前
HTTP~
网络·网络协议·http
泽济天下6 小时前
【经验分享】JWE 详解:比 JWT 更安全的令牌技术
网络·经验分享·安全