介于本身的网络方面知识烂的一塌糊涂,因此准备写相关网络的文章,可是考虑所有写在一篇太长了,因此分开写,但愿你们能仔细看,最好能够指出个人错误,让我也能纠正。web
1.讲解相关的整个网络体系结构:面试
Android技能树 — 网络小结(1)之网络体系结构api
2.讲解相关网络的重要知识点,好比不少人都听过相关网络方面的名词,可是仅限于听过而已,什么tcp ,udp ,socket ,websocket, http ,https ,而后webservice是啥,跟websocket很像,socket和websocket啥关系长的也很像,session,token,cookie又是啥。bash
Android技能树 — 网络小结(2)之TCP/UDP服务器
Android技能树 — 网络小结(3)之HTTP/HTTPSwebsocket
Android技能树 — 网络小结(4)之socket/websocket/webservicecookie
相关网络知识点小结- cookie/session/token(待写)网络
3.相关的第三方框架的源码解析,毕竟如今面试个大点的公司,okhttp和retrofit源码是必问的。session
Android技能树 — 网络小结(6)之 OkHttp超超超超超超超详细解析数据结构
Android技能树 — 网络小结(7)之 Retrofit源码详细解析
网络这块知识其实不少开发估计都很薄弱,不少开发一直都是使用一些框架,而后和后台约定好返回的数据结构,而后就能够干活了。好比咱们知道了retrofit调用的api后,填入相关的http url及要传给服务器的指定参数,咱们就能够拿到相关的返回JSON:
{
"success":true,
"msg":"xxxx",
"data":{
"key1":value1,
"key2":value2
}
}
(固然其中的``success``通常的也是会用``code``值来返回,
而后移动端来判断是不是200便可。)
复制代码
而后经过相似FastJson或者Gson等转换成对象,而后用在咱们的app中便可。
因此在不少时候,咱们发现咱们对于网络的东西一窍不通,照样能作出一个app来。并且提及来也是头头是道,可是一旦去面试大点的公司,问的稍微详细点,就直接哑口无言,而后基本就面试GG了。
而介于个人网络基础也是超级烂,因此此次是参考别人的文章,本身理解,而且作了总结,文章最后会附上相关连接,而且一些图也是直接参考这些大佬们的文章里面的配图。(因此不要喷我直接盗图)。
不知道你们小时候有没有写过信,经过邮局寄出去,可是那时候咱们要手动的把真正写的内容写在纸上,而后塞入信封中,而后在信封上写上相关发件人信息,收件人信息,邮编等,而后才能顺利的寄到目的地。而收件人最关心的确定是里面的真正内容的纸张,甚至能够不看信封的信息。
那咱们在平时发送相关的信息的时候其实也跟寄信有点像,咱们也只是写了相关的主要信息,可是最后却能发送到指定的地点,由于帮咱们一层层封装了数据(有点像帮忙写了信封上的信息)。而后对方收到信息的时候,也只看到了咱们发给他的主要信息(有点像帮忙打开了信封,拿出来里面的主要内容)。
看这个图是否是感受很像刚才寄信,咱们主要的DATA内容被一层层封装,而后到了接收方后,一层层解封装。
有些人可能会问,那这一层层的,到底具体作了什么呢,其实让你如今想象你也大概知道一些,好比对方的地址和你的地址;各类约定好的协议(好比咱们信封上面的邮编号也算是规定的协议);好比你用的是英文写的,或者用的中文写的,对方也要会看懂,你们最好也是要相互约定,这样寄信过去后才能更方面让对方读懂等等。
咱们一步步具体来看:
其实上面那个图用的是OSI体系结构,全部咱们能够看到有七层。
很差意思。。。走错片场了。。。应该是下面的图片。
其实看上面的图已经大概有点了解了:
来个更具体的图片:
而后不少人说七层太多了看不懂,而后表示直接放弃,(PS:我本身也表示放弃) 虽然知道封装了不少东西,可是层数太多,真心不想看下去。因此后来看到还有其余的比较少的层数结构
TCP / IP的体系结构简化了计算机网络的结构,由原来的七层编导如今的四层,可是其功能并无减小。
是否是一会儿少了不少,咱们知道一个数据从这边发送到另一个地方,很像寄信同样,咱们就以寄信来讲明,更加通俗易懂。寄信无非就是要有这几个条件:
因此上面的例子看懂了咱们再来看TCP/IP的四层协议(固然我只是讲了一个大概,没有讲解详细,甚至若是讲错了,望指正
):
其实和上面的四层相似,只是最下面的网络接口层拆分红了OSI的最底下的二个层:物理层和数据链路层。其余都是同样的。
看了图片是否是一会儿就明白了三者的关系了,相似于TCP/IP的结构更多的是把OSI的七层标准,把某几层合并简略成了一层。从而更好的理解。
emmmm.........但愿你们轻喷。
参考文章: