开发岗学习路线(未完待续)

本文深入探讨了计算机网络中的TCP/IP协议、HTTP状态码、TCP三次握手和四次挥手过程,以及OSI七层模型。此外,还讲解了C++中的指针与引用区别、内存管理、动态链接与静态链接等核心概念,同时涵盖了数据库的索引原理和Redis的基础知识。
摘要由CSDN通过智能技术生成

计网

1、TCP三次握手,四次挥手,有什么用?

2、HTTP8种请求方法:GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE

GET和POST的区别?

  • GET被浏览器强制支持

  • 由于URL长度有限制,GET不能代替POST发送大量的数据

  • GET请求发送数据更小

  • GET是不安全的,POST相对于GET是安全的

  • GET是幂等的

  • POST不能被缓存

3、HTTP1.0,1.1,2.0区别

  • 1.0默认短连接,1.1及以后默认长连接
  • 1.1支持只发送header到服务器
  • 1.1有host域这一参数,1.0没有
  • 1.1请求头引入range头域,支持只请求资源的一部分,
  • 1.X的协议解析是基于文本的,2.0是基于二进制的
  • 多路复用,2.0一个连接可以同时发送多个请求彼此互不干扰
  • 2.0可以对header进行压缩
  • 2.0可以服务器将html所需要的css等推送给请求者,不需要再次发起请求

4、HTTP 状态码

http状态码

5、http长连接&短链接

  • http1.0默认短连接,1.1及以后默认长连接
  • 长连接用于频繁操作的点对点的连接,连接数不能太多
  • 短连接一般用于Web网站等并发数很高的地方

6、http请求/响应的步骤

  • 浏览器根据域名解析得到ip

  • 客户端连接到服务器

  • 客户端发送请求

  • 服务器接受请求并返回http响应

  • 释放tcp连接

  • 客户端浏览器解析html内容

7、tcp udp区别

  • tcp面向连接,udp无连接
  • tcp开销较大,对系统资源要求比较多,udp开销小,对系统资源要求少
  • udp结构比较简单
  • tcp是面向字节流的,udp是面向报文的
  • tcp有差错控制、流量控制等来保证数据的可靠性,而udp没有,可能会丢包
  • tcp可以对分组进行排序,保证数据的有序,而udp不能保证
  • udp的首部是8个字节,tcp至少20字节

8、TCP协议

  • ftp:应用层,21端口
  • telnet:23端口
  • smtp:25端口
  • pop3:110端口
  • http:80端口

9、udp协议

  • dns:53端口
  • snmp:161端口
  • tftp:69端口

10、tcp三次握手

  • 客户端向服务器发送:SYN=1,ACK=0,seq=x
  • 服务器向客户端发送:SYN=1,ACK=1,seq=y,ack=x+1
  • 客户端向服务器发送:ACK=1,seq=x+1,ack=y+1

11、为什么要三次握手而不是两次?

  • 防止已失效的请求报文突然又发送到B,导致发生错误。考虑一种情况,A发送请求建立连接的请求,在某一中间节点滞留,又重发了一次请求,然后与B建立连接,之后第一次发送的请求到达B,如果是2次握手,那B收到A建立连接的请求之后,便会成功建立连接,这样就会建立起一条无用的连接,浪费了带宽,如果是三次握手,那B会向A发出确认,A发现这是已经被丢弃的请求,不会回复B,就不会建立起连接

12、TCP四次挥手

  • A向B发送关闭连接的请求,FIN=1,seq=u
  • B向A发出确认,ACK=1,seq=v,ack=u+1,连接处于半关闭状态
  • B向A发出关闭连接的请求,FIN=1,ACK=1,seq=v+1,ack=u+1
  • A向B发出确认,ACK=1,seq=u+1,ack=w+1

13、为什么time_wait要等待2MSL才能关闭

  • MSL是报文在网络中的最大存活时间,2MSL就是从发出到收到回复有可能的最长时间,由于网络是不可靠的,最后一个ACK有可能B没有收到,那么B就会重发FIN,那么在2MSL内,如果A再次收到FIN,说明ACK丢失,需要重发ACK,如果没收到FIN,就说明B已经收到了ACK,可以断开连接了。

14、tcp保证可靠性的手段

  • 数据包校验
  • 失序数据进行排序
  • 丢弃重复数据
  • 应答机制
  • 超时重发
  • 流量控制

15、拥塞控制的方法

  • 慢启动
  • 拥塞避免
  • 快重传和快恢复

16、OSI七层

  • 物理层:物理通信信道上原始比特流的传输
  • 数据链路层:物理寻址,将原始比特流转化为逻辑传输线路,arp,rarp
  • 网络层:控制子网的运行,如逻辑编组、路由选择等,各种网关协议,IP,icmp
  • 传输层:接受上一层的数据,必要时对数据进行分
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值