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 小时前
pre-commit run --all-files 报错:http.client.RemoteDisconnected
网络·网络协议·http
郝亚军1 小时前
websocket 服务器往客户端发送的数据要加掩码覆盖吗?
服务器·网络·websocket
DoWhatUWant2 小时前
域格YM310 X09移芯CAT1模组HTTPS连接服务器
服务器·网络协议·https
今天秃头了吗??4 小时前
【JAVA】网络编程
java·网络·网络编程·socket
is08154 小时前
NFS 服务器 使用
服务器·网络
言之。5 小时前
TCP 拥塞控制设计空间课程要点总结
网络·网络协议·tcp/ip
Freed&5 小时前
《没有架构图?用 netstat、ss、tcpdump 还原服务连接与数据流向》
网络·测试工具·tcpdump
千钰v6 小时前
Tcpdump: The Basics Tcpdump 基础
linux·运维·网络·tcpdump·tryhackme
跨境小新7 小时前
ChatGPT大模型训练指南:如何借助动态代理IP提高训练效率
网络协议·tcp/ip·chatgpt
全栈技术负责人7 小时前
前端网络性能优化实践:从 HTTP 请求到 HTTPS 与 HTTP/2 升级
前端·网络·http