前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >https和http连接过程

https和http连接过程

作者头像
程序员不务正业
发布2018-08-02 16:13:44
4380
发布2018-08-02 16:13:44
举报
文章被收录于专栏:移动端周边技术扩展

http连接

连接需经过三次握手:

第一次:建立连接时,客户端发送syn(syn=j)包到服务器,并进入syn_sent状态,等待服务器确认。 第二次:服务器收到syn包,必须确认客户端的syn(ack=j+1),同时自己也发送一个syn(syn=k)包,即syn+ack包到客户端,此时服务器进入syn_recv状态 第三次:客户端收到服务器的syn+ack包,向服务端发送确认包ack(ack=k+1),此包发送完成,客户端和服务器进入tcp连接成功状态,完成三次握手。

为什么要采用三次握手,两次不行吗?:防止发出的请求由于网络拥堵导致互相等待问题

20160809153504099.png

之所有有第三次握手的原因,有可能在客户端发送连接请求时,第一次发送,请求在网络的某个地方block了,这时候发送第二次网络请求,第二次网络请求服务器答复了,而第一个网络请求又来了,而这个请求应该是被弃用了的,所以就出现了这个请求异常。为了避免这个异常就建立了3次握手

断开连接需要四次挥手:

第一次:tcp客户端发送一个fin(fin=j),用来关闭客户端到服务器的数据传输 第二次:服务端收到fin,返回一个ack(ack=j+1),确认号为收到的序号+1 第三次:服务器关闭客户端的连接,发送一个fin(fin=m)给客户端 第四次:客户端返回ack(ack=m+1)报文确认,并将序列号设置为收到的序列号+1,完成断开

https连接:

1、客户端发送请求到服务端,建立连接(http三次握手)
2、客户端发送请求到服务端,建立连接(SSL/TSL握手)

1、客户端发起https请求,服务端返回给客户端一个公钥(证书) 2、客户端产生对称密钥 3、使用公钥对产生的对称密钥进行加密 4、发送加密后的对称密钥给服务器 5、客户端通过对称密钥加密的密文通信(ssl加密建立)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.07.09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • http连接
  • https连接:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档