面试题-网络1

19 篇文章 0 订阅
1 篇文章 0 订阅
1、http响应码301和302代表什么?区别?
  • 301、302都是HTTP状态的编码,都代表着某个URL发生了转移,进行了重定向,浏览器在拿到这个状态码之后回跳到一个新的URL地址,这个地址可以从响应的Location首部中获取。
  • 301:代表永久性转移,旧地址A的资源已经被永久的移除了;
  • 302:表示旧地址A的资源还在,这个重定向只临时的从旧地址A跳到地址B,搜索引擎会抓取新的内容而保存旧的网址。
2、forward和redirect的区别?
  • forward(直接转发方式):客户端和浏览器只发出一次请求,servlet、html、jsp或其他信息资源。由第二个信息资源相应该请求,request中保存的对象对每个信息资源都是共享的。
  • redirect(间接转发方式):实际是两次HTTP请求,服务器端在相应第一次请求的时候,让浏览器再向另一个URL发出请求,从而达到转发的目的。主要防止用户非正常访问,没登录就访问页面。
3、tcp和udp的区别?
  • TCP面向连接。提供可靠服务,通过TCP发送的数据,无差错,不丢失,不重复,按序到达。丢包重发控制,可以对次序乱掉的分包进行顺序控制。是点对点的。对系统资源要求较高。
  • UDP无连接,发送数据不用建立连接。不保证数据可靠交付。有良好的实时性,工作效率比TCP高,适用于高速传输和实时性较好的通信。支持一对一,一对多,多对一和多对多的交互通信。对系统资源要求较少。
4、tcp三次握手?
  • 第一次握手:客户端发送syn包到服务器,并进入SYN_SEND状态,等待服务器确认;
    第二次握手:服务器收到SYN包,必须确认客户的SYN,同时自己发送一个SYN包,即SYN+ACK包,此时服务器进入SYN_RECV状态。
    第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK,此包发送完毕,客户端和服务器进入ESTABLISHED状态。完成三次握手。

  • 为了实现可靠数据传输。TCP协议的通信双方,都必须同步一个SYN序列号,通信双方都必须产生一个初始的序列号并发送给对方。

5、tcp粘包
  • 发送方产生粘包
    采用TCP传输的协议,客户端和服务器是一个长连接的状态,当发送的数据包超过一定的时间,TCP协议默认启用Nagle算法,将较小的数据包进行合并发送;这个合并过程是在缓冲区内进行的,也就是说数据发出来的时候已经是粘包状态了。

  • 接收方产生粘包
    数据到达接收方,从网络模型的下方传递至传输层,传输层的TCP协议处理是将其防止接受缓冲区,然后由应用层来主动获取。如果我们的读取函数不能及时把缓冲区中的数据拿出来,而下一个数据又到来并有一部分放入缓冲区末尾,我们读取的时候就会产生粘包。

6、OSI七层模型
  • 应用层:网络服务与最终用户的一个接口。
  • 表示层:数据的表示、安全、压缩。
  • 会话层:建立、管理、终止绘画。
  • 传输层:定义传输数据的协议端口号,流控和差错校验。
  • 网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。
  • 数据链路层:建立逻辑连接、进行硬件地址表示、差错校验等功能。
  • 物理层:简历、维护、断开物理连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值