美文网首页
https和http连接过程

https和http连接过程

作者: 程序员不务正业 | 来源:发表于2018-07-09 21:13 被阅读89次

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加密建立)

相关文章

  • https和http连接过程

    http连接 连接需经过三次握手: 第一次:建立连接时,客户端发送syn(syn=j)包到服务器,并进入syn_s...

  • HTTP和HTTPS连接耗时对比

    今天我们来看看HTTP和HTTPS连接耗时对比。 HTTP的连接很简单,是无状态的。HTTPS协议是由SSL+HT...

  • iOS 整理-网络篇

    1、网络七层协议2、Http 和 Https 的区别?Https为什么更加安全?3、Https的连接建立过程4、三...

  • HTTPS连接建立过程

    在面试的过程中经常会被问到http和https相关的问题,包括https连接建立过程,所以就把相关的内容整理下放在...

  • HTTP 与 HTTPS 快速对比

    HTTP 与 HTTPS 协议比较 HTTP 过程 HTTP 报文格式 请求报文 响应报文 SSL连接证书验证内容...

  • HTTP和HTTPS之间的区别

    HTTP和HTTPS之间的区别1)如果HTTP URL以“HTTP://”开头,而对于HTTPS连接,则为“HTT...

  • Https连接建立过程

    Https的全称是Http over SSL,而SSL是在TCP协议之上的保密层,但是它也是属于传输层的,如果直接...

  • Https连接建立过程

    Https的全称是Http over SSL,而SSL是在TCP协议之上的保密层,但是它也是属于传输层的,如果直接...

  • HTTPS连接过程

    HTTPS(Hyper Text Transfer Protocol Secure),是一种基于SSL/TLS的H...

  • HTTPS连接过程

    SSL建立连接过程 client向server发送请求https://baidu.com[https://baid...

网友评论

      本文标题:https和http连接过程

      本文链接:https://www.haomeiwen.com/subject/ybztpftx.html