基础知识随记

基础知识随记

计算机网络

1.HTTP无状态协议到底指的什么?

关键字 HTTP,Cookie机制,Session用户验证,TCP Keep-Alive,会话,缓存区

原文地址:HTTP无状态协议到底指的什么?

先来看这句话的另外两个概念:(标准的http协议是无状态的,无连接的)
标准的http协议指的是不包括cookies, session,application的http协议,他们都不属于标准协议,虽然各种网络应用提供商,实现语言、web容器等,都默认支持它
无连接指的是什么
每一个访问都是无连接,服务器挨个处理访问队列里的访问,处理完一个就关闭连接,这事儿就完了,然后处理下一个新的
无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。

原文非常详细生动,从HTTP的无状态引入了Cookie、session认证机制,从用户登录认证,到购物车的实现说明的HTTP无状态的应用

2.TCP/IP 状态转换过程

关键字 建链三次握手,断链四次挥手,全双工连接,图解
原文
TCP/IP 状态转换图
注:SYN表示主动请求,ACK表示接收到消息后回应请求

三次握手

客户端 SYN_SENT->ESTABLISHED
服务端 LISTEN->SYN_RCVD->ESTABLISHED

三次握手的状态迁移:
第一握手:客户端发给服务端SYN=1,seqNo=x(代表发送起始字节编号)
第二次握手:服务端接受到SYN=1,seqNo=x知道客户端发起了连接请求;因此回送ACK=1(告诉客户端连接请求接收到),ackNo=x+1(希望接收下一个字节的编号),seqNo=y(发送给客户端起始字节编号)
第三次握手:客户端接回应,又回送一个ACK=1,ackNo=y+1服务端表示收到它的确认请求
三次握手后客户端与服务端就可以进行数据传输了!

即客户端在服务器不知情的情况下发起连接请求【第一次:客户端发】,服务器向客户端应答,等待客户端进一步回复【第二次:服务器收,服务器发】,客户端收到服务器确认请求,此时再向服务器发送确认应答【第三次:客户端发,服务器收】

四次挥手(双向)

主动关闭方(客户端或者服务端) FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT
被动关闭方
CLOSE_WAIT->LAST_ACK->CLOSE

面看看四次挥手的状态迁移:
当主动关闭方发送完FIN(停止发送数据,但是还可以接收数据)后便进入FIN_WAIT_1状态,被动关闭方接收到FIN,回送一个ACK,之后便进入到CLOSE_WAIT;主动关闭方接收到ACK便进入到FIN_WAIT_2(也称半关闭状态),之后当被动关闭端发送FIN给主动关闭端便进入LAST_ACK状态,主动关闭端接收到FIN之后,发送一个ACK便进入到TIME_WAIT状态(它持续的时间为2MSL,报文传输的最大时长为1MSL,为的是当ACK发送出去被动关闭端没有接收到,能够再次发送)

即:主动关闭方准备停止时回发送FIN信号给被动关闭方,发送完无需等待确认便进入DIN_WAIT_1状态,此时被动关闭方接收到FIN请求后进入CLOSE_WAIT状态并返回ACK,主动方接收到ACK后进入了FIN_WAIT_2(半关闭状态),之后等待被动关闭方进入LAST_ACK状态后发送FIN给主动关闭方,在FIN_wAIT_2状态下的主动方接收到FIN后再回复一个ACK后进入TIME_WAIT状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值