三次握手、四次挥手、为什么三次握手、四次挥手?http请求常见的方式、http请求状态码、什么时候选择django来作为自己的开发框架、pip命令基本使用

1、三次握手
  • 三次握手过程

    建立TCP连接时,需要客户端和服务器共发送3个包。

    • 第一次:客户端发送初始序号x和syn=1请求标志
    • 第二次:服务器发送请求标志syn,发送确认标志ACK,发送自己的序号seq=y,发送客户端的确认序号ack=x+1
    • 第三次:客户端发送ACK确认号,发送自己的序号seq=x+1,发送对方的确认号ack=y+1
      在这里插入图片描述

三次握手过程分析

  • 第一次:客户端发送请求到服务器,服务器知道客户端发送,自己接收正常。SYN=1,seq=x
  • 第二次:服务器发给客户端,客户端知道自己发送、接收正常,服务器接收、发送正常。ACK=1,ack=x+1,SYN=1,seq=y
  • 第三次:客户端发给服务器:服务器知道客户端发送,接收正常,自己接收,发送也正常.seq=x+1,ACK=1,ack=y+1
2、四次挥手
  • 四次挥手过程

    • 第一次挥手:客户端发出释放FIN=1,自己序列号seq=u,进入FIN-WAIT-1状态
    • 第二次挥手:服务器收到客户端的后,发出ACK=1确认标志和客户端的确认号ack=u+1,自己的序列号seq=v,进入CLOSE-WAIT状态
    • 第三次挥手:客户端收到服务器确认结果后,进入FIN-WAIT-2状态。此时服务器发送释放FIN=1信号,确认标志ACK=1,确认序号ack=u+1,自己序号seq=w,服务器进入LAST-ACK(最后确认态)
    • 第四次挥手:客户端收到回复后,发送确认ACK=1,ack=w+1,自己的seq=u+1,客户端进入TIME-WAIT(时间等待)。客户端经过2个最长报文段寿命后,客户端CLOSE;服务器收到确认后,立刻进入CLOSE状态。

    在这里插入图片描述

四次挥手过程分析

  • 第一次:客户端请求断开FIN,seq=u
  • 第二次:服务器确认客户端的断开请求ACK,ack=u+1,seq=v
  • 第三次:服务器请求断开FIN,seq=w,ACK,ack=u+1
  • 第四次:客户端确认服务器的断开ACK,ack=w+1,seq=u+1
为什么三次握手、四次挥手?
  • 三次握手时,服务器同时把ACK和SYN放在一起发送到了客户端那里
  • 四次挥手时,当收到对方的 FIN 报文时,仅仅表示对方不再发送数据了但是还能接收数据,己方是否现在关闭发送数据通道,需要上层应用来决定,因此,己方 ACK 和 FIN 一般都会分开发送。
3、http常见的请求方式以及它们都是做什么用的?
序号方法描述
1GET请求指定的页面信息,并返回实体主体
2POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。
3PUT从客户端向服务器传送的数据取代指定的文档内容
4delete请求服务器删除指定的页面
5OPTIONS允许客户端查看服务器的性能
4、http请求状态码
状态描述
200OK 当您的操作将在响应正文中返回数据时,出现此结果。
204No Content 当您的操作成功,但不在响应正文中返回数据时,出现此结果。
304Not Modified(重定向) 当测试实体自上次检索以来是否被修改时,出现此结果。
403Forbidden 客户端错误
401Unauthorized 客户端错误
413Payload Too Large(客户端错误) 当请求长度过长时,出现此结果。
400BadRequest(客户端错误) 当参数无效时,出现此结果。
404Not Found(客户端错误) 当资源不存在时,出现此结果。
405Method Not Allowed(客户端错误)由于方法和资源组合不正确而出现此错误。 例如,您不能对一个实体集合使用 DELETE 或 PATCH。
412Precondition Failed 客户端错误
501Not Implemented(服务器错误) 当未实施某个请求的操作时,出现此结果。
503Service Unavailable(服务器错误) 当 Web API 服务不可用时,出现此结果。
5、什么时候选择django来作为自己的开发框架?

大型项目、业务逻辑复杂。Django 框架可以为复杂的 Web 应用程序提供快速的开发速度。由于它提供了完整的功能,因此它提供了所有必要的实施工具。

6、pip基本命令使用
pip install      #安装依赖包
pip uninstall    #卸载依赖包
pip list         #查看已安装的依赖包
pip freeze > requirements.txt    #导出依赖包
pip install -r requirements.txt   #从文件安装依赖包
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值