Android网络方面的知识(Android面试回顾系列一)

一.网络方面的知识,主要就是问tcp/ip与udp,sokect与http与https的区别。
1)ip:用于网络层端口之间的对比识别。
2)tcp:说到tcp一般都是提到三次握手建立链接,这个过程并不是传输数据的过程,而是一些简单基础数据传递用于识别与建立连接。相对来说tcp建立的连接是稳定的,所谓的tcp/ip就是在网络层的端口对比识别认证后,tcp去用于稳定连接,类似超时、重发都是由tcp去处理的。
3)三次握手:一般来说是客户端发送请求数据给服务端,服务端返回给客户端ayn跟响应数据给客户端,客户端再用ayn加请求码返回给客户端,完成三次握手建立链接。 而后的操作才是开始传输数据。
4)断开的时候,采用的是四次握手。
一般来说是服务器发一个请求要求断开链接,客户端接收后发送请求同意断开,而后服务器响应返回ayn给客户端说断开连接,之后客户端接收后再次发送ayn加请求断开连接(此时客户端已经断开链接),服务器接收到ayn与客户端的请求后(此时服务器停止响应)断开。
5)sokect:是在连接建立后构建的传输通道去传输数据。
6)udp:与tcp的区别在于,udp的并没有三次握手一说,udp/ip则是服务器发送数据给指定的客户端,并不去理睬客户端是否响应,而直接负责发送与建立通道。
7)心跳机制,就是类似在通讯的过程中,建立连接后,但是又长时间没有数据的传递,这个时候为了防止损耗因该选择去断开连接。但是因为在通讯的过程中,可能在断开连接后,对方又再次发送信息来了,但是没有连接的我们是无法获取到消息的。所以当我们并不知道何时对方会发来信息,也不可能一直建立连接因为比较损耗性能,所以就采用断开后,客户端按照一定的频率就给服务端发送请求查看是否有响应需要建立连接,这样可以大大的节省损耗。这样的流程就像心跳一样,因此统称为心跳机制。
8)http.超文本传输协议。整个的流程就是一次请求对应的是服务器的一次响应。
9)https 在http的基础之上要求了一层加密。


简单的理解就是,一个局域网一般要求有四层。数据链路->网络->传输->应用。
数据链路层:可以理解为网线与路由之间的连接层。
网络层:是在用于网络端口直接的传输认证,代表也就是ip。
传输层:是在用于确保传输的方式协议,代表也就是tcp/upd。
应用层:与上面三层不同的是,更主要的是注重应用传输的业务,而不需要考虑太多传输问题。

如图:

Android网络方面的知识(Android面试回顾系列一)_第1张图片


 

你可能感兴趣的:(面试)