前端HTTP部分

一次完整的HTTP事物流程

(1)域名解析

(2)发起TCP三次握手

(3)建立TCP连接后发起http请求

(4)服务器响应http请求,浏览器得到HTML代码

(5)浏览器解析HTML代码,并请求HTML代码中的资源

(6)浏览器对页面进行渲染呈现给用户

(7)连接结束

解析IP的过程

(1)首先在本地域名服务器(最近一台的DNS服务器)中查询IP地址

(2)如果没有找到,本地域名服务器会向根域名服务器发送一个请求

(3)如果根域名服务器中也不存在该域名,但判断这个域名属于‘com’域

则本地域名服务器会向com顶级域名服务器发送一个请求

(4)如果com顶级域名服务器没有找到该域名,但判断这个域名属于‘google.com’域,

则本地域名服务器会向google.com域名服务器发送一个请求,以此类推

(5)直到本地域名服务器得到域名对应的IP地址,并将其缓存到本地,以便下次查询使用。

(6)综上,网址的解析过程为.->.com->google.com->www.google.com

TCP三次握手,四次挥手

ACK:TCP规定,只有当ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1

SYN: 在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文。对方若同意建立连接,

则响应报文中SYN=1,ACK=1.因此,SYN=1表示这是一个连接请求或连接接受报文。

FIN:终结的意思,用来释放一个连接。当FIN=1时,表明此报文段的发送方的数据已经发送完毕,并请求释放连接。

三次握手说明

(1)第一次握手:建立连接,客户端发送连接请求报文段,将SYN置于1,序列号seq=x;然后,客户端进入SYN_SEND状态,等待服务器确认

(2)第二次握手:服务器收到SYN报文段。需要对这个SYN报文段进行确认,ACK置于1,确认号ack为x+1,同时自己还要发送SYN请求信息,将SYN位置1,序列号seq为y;服务器将上述SYN+ACK报文段一并发送给客户端,此时服务器进入SYN_RECV状态。

(3)第三次握手:客户端收到服务器的SYN+ACK报文段。然后将确认号ack设置为y+1,向服务器

发送ACK报文段,这个报文段发送完毕后,客户端和服务器端都进入ESTABLISHED阶段,完成TCP三次握手,

之后可以开始传数据。

四次挥手说明:

(1)第一次挥手:主机1(可以是客户端,也可以是服务器)设置序列号seq=u,

  向主机2发送一个FIN报文段,此时,主机1进入FIN_WAIT状态,这表示主机1没有数据要发送给主机2了

(2)第二次挥手:主机2收到主机1发送的FIN报文段,向主机1回复一个ACK报文段,确认号为u+1,序列号seq为v;

  主机2进入CLOSE_WAIT状态;主机1收到主机2发送的ACK报文段之后进入FIN_WAIT_2状态。

(3)第三次挥手:主机2向主机1发送FIN报文段,设置序列号seq为w,确认号ack为u+1,请求关闭连接,同时主机2进入LAST_ACK状态

(4)第四次挥手:第四次挥手:主机1收到主机2发送的FIN报文段,向主机2发送ACK报文段,确认号ack为w+1,序列号seq为u+1,然后主机1进入TIME_WAIT状态;主机2收到主机1的ACK报文段以后,就关闭连接;此时,主机1等待2MSL(MSL,最长报文段寿命)后依然没有收到回复,则证明服务端已经正常关闭,那么主机1也可以关闭连接了。
 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值