HTTPS连接流程回顾

        由于本人最近在帮忙对接支付宝当面付、手机网站支付等产品,而支付宝官方文档又非常详细,本以为对接会很顺利,哈哈,然后墨菲定律来了,遇到了点小颠簸。当接受支付宝手机网站支付异步通知的时候。总收不到消息,我的异步通知地址是一个https的域名。经过再仔细研究支付宝官方文档确定没有误解和检查自己代码确定没有问题后,咨询了支付宝方面的支持人员,支付宝方面回馈,支付成功,异步通知地址是通的,也没问题,他们那边的http状态码是0,他们怀疑我的SSL证书有问题。好吧,那我先试下异步通知地址换成http的吧,不走https吧,嗯,能接受到消息,现在只能从https通信的角度找问题了,既检查SSL证书部署,按照支付宝的要求联系证书厂家咨询SSL证书是否在JDK1.5中内置,又梳理整个https通信的环节找问题,最后终于定位到支付宝发起SSL认证请求时,其SSL支持版本是TLS1.0,我们这边的域名对用的SSL证书没配支持TLS1.0。上一次学习TCP/IP、HTTP、HTTPS还是在大学学的,很多细节都忘了,正好借着这次问题回顾一下。

        先简单介绍下http协议,而https就是在http基础上增加SSL认证,通过加密技术使http通信变得安全,https通信的本质依旧是http。所谓http (hyper text transfer protocol)协议就是用于万维网在服务器与浏览器之间传输超文本信息的协议,http协议是基于TCP/IP协议,通过tcp/ip三次握手使通信双方建立连接。一个http的请求报文由请求行、请求头部、空行和请求数据四部分组成。一个http响应由状态行、响应头部、空行和响应数据四部分组成。http定义了很多协议规则,如:请求方法、URL命名规则、状态码等等,这里不详细介绍了。本文重点描述https建立过程。

        下图是一个简单的https建立的流程图,一台局域网中的主机与一台外网主机通信的大致流程。

         ARP是一个局域网使用的地址解析协议,旨在通过局域网中的IP地址转换成对用的mac地址。

        DNS是域名解析协议,获取到请求目的地址的域名对应的IP地址。

        TCP/IP在两台主机之间建立可靠的连接。

        SSL/TLS使已建立连接的通信双方通过非对称加密传输用于加密通信数据的对称密钥以建立安全的加密通道,在加密通道里使用http协议通信。

        下图是https建立的详细流程:

        https的连接过程不能只是看,然后懂就行,需要你依照心里的理解自己能画出来并能加以文字描述,这样对https的掌握的基本要求就能达到了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值