Android面试题归纳

(1)TCP/IP的分层管理

      我们用Http举例来说明,首先作为发送端的客户端在应用层(Http协议)发出一个像看某个Web页面的HTTP请求。

      接着为了传输方便,在传输层(TCP协议)把从应用层收到的数据(Http请求报文)进行分割,并在各个报文上打上标记序号及端口号转发给网络层。

    在网络层(IP协议)增加作为通信目的的MAC地址后转发给链路层。这样一来,发往网络层的通信请求就准备齐全了。

   接收端的服务器在链路层收到数据,按序网上层发送,一直到应用层。当传输到应用层,才能算真正接收到由客户端发送过来的HTTP请求。

  

    发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层的首部信息。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消失。这种把数据包起来的做法叫做封装。

 

(2)TCP三次握手策略

    为了准确无误地将数据送达目标处,TCP协议采用了三次握手策略。用TCP协议把数据包送出去之后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志(Flag),SYN(synchronize)和(acknowledgement)。

    发送端首先发送一个带有SYN标志的数据包给对方,接收端收到后,回传一个带有SYN/ACK标志的数据包,最后发送端再回传一个带ACK标志的数据包,代表“握手”结束。如果在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包。

 

(3)Http头

  服务器缓存控制策略:

 Cache-Control 字段中有以下内容时:

  no_cache或no_store:客户端不去缓存里拿数据,每次都请求服务器  max-age:在max-age规定的秒数内,浏览器将不会发送对应的请求到服务器,数据由缓存直接返回;超过这一时间段才进一步由服务器决定是返回新数据还是仍由缓存提供。must-revalidate:客户端只有第一次访问时会访问服务器,以后就不再访问

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值