HTTP -- 握手连接

本文深入探讨了HTTP协议中的TLS协议,包括TLS 1.2版本的ECDHE和RSA握手过程以及双向认证。接着,详细介绍了TLS 1.3的握手流程,并进行了握手性能分析。最后,讨论了如何针对TLS握手进行HTTPS优化,以提升网络连接效率。
摘要由CSDN通过智能技术生成

1,TLS协议

TLS由几个不同职责的模块组成,常用有记录协议、警报协议、握手协议、变更密码规范协议等。

记录协议(Record Protocol)规定了TLS收发数据的基本单位:记录(record)。像TCP的segment,其他子协议需通过记录协议发出。但多个记录数据可以在一个TCP包里一次性发出,且不需要像TCP那样返回ACK。
警报协议(Alert Protocol)向对方发出警报信息,像是HTTP协议里的状态码。如protocol_version表示不支持旧版本,bad_certificate表示证书有问题,收到警报后可以选继续,也可终止。
握手协议(Handshake Protocol)TLS里最复杂的子协议,浏览器和服务器在握手过程中协商TLS版本号、随机数、密码套件等信息,然后交换证书和密钥参数,最终双方协商得到会话密钥,用于后续的混合加密系统。
变更密码规范协议(Change Cipher Spec Protocol)是一个“通知”,告诉对方,后续的数据都将使用加密保护。之前,数据都是明文的。
2,TLS版本1.2
2.1 TLS握手过程
下图简要描述TLS的握手过程,每一个“框”都是一个记录,多个记录组合成一个TCP包发送。最多经过两次消息往返(4个消息)就可完成握手,然后就可以在安全的通信环境里发送HTTP报文,实现HTTPS协议

TLS的握手过程

2.2 ECDHE握手过程
ECDHE实现密钥交换,不是RSA,所以会在服务器端发出“Server Key Exchange”消息。
客户端可以不用等到服务器发回“Finished”确认握手完毕,立即就发出,HTTP报文,省去了一个消息往返的时间浪费。
称为抢跑(TLS False Start),和“TCP Fast Open”有点像,都不等连接完全建立就提
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值