网络 协议

说起网络,不仅想起计算机专业的四大核心课程:
数据结构—偏向算法方面
计算机组成原理—偏向硬件方面
计算机操作系统—偏向系统方面
计算机网络—偏向网络方面

好了,还是说回网络方面吧。
计算机网络
计算机网络中的七层模型:
是ISO制定的OSI参考模型,也就是我们通常所说的七层模型,从下往上分别为:
物理层
数据链路层
网络层
传输层
会话层
表示层
应用层

OK,接下来简单介绍分析一下目前主流并且在实际项目中会使用到的网络协议。
1、TCP协议
TCP/IP协议,即传输控制协议/因特网互联协议,是Internet最基本的协议,由网络层的IP协议和传输层的TCP协议组成。
TCP是可靠稳定的传输协议
TCP是长连接
在实际开发的时候,我们使用TCP协议,主要就是写socket.

2、HTTP协议
超文本传输协议,是互联网上应用最为广泛的一种网络协议。
HTTP协议一般是基于TCP/IP协议,但是也不一定,只要其下层协议提供可靠的传输即可。
HTTP是可以为长连接的
HTTP1.0/1.1
HTTP1.1规定了默认保持长连接(持久连接)
长连接的过期时间是你去规定的话才有,如果不规定则默认为无限期,当然我实际测过后发现连接是可能在一定时间后断开的(可能取决于网络原因),此时需要重连。
可以在包头里规定,比如说规定为20秒:Keep-Alive:timeout=20
所谓的HTTP长连接,也就是说与一般每次发起http请求或者响应都要建立一个tcp连接不同,而是利用同一个tcp连接处理多个http请求和响应,也叫HTTP keep-alive或者http连接重用。
我们可以采用HttpUrlConnection或者HttpClient框架处理HTTP。
当然,也可以使用OKHttp,这是目前非常不错的第三方Android网络处理框架。
HTTP使用的是请求—>应答的交互模式,不能用HTTP做APP上的推送(因为推送是Server主动向APP推送东西)。

猜你喜欢

转载自blog.csdn.net/zdj_develop/article/details/73435589
今日推荐