1.什么是长/短连接&心跳包?
短连接
- 非持续链接和持续链接都是短链接.
- 数据请求结束后,会断开连接
- 能够及时释放服务器资源
- 让服务器能够为更多的用户提供服务
长连接
- 一旦连接建立之后,始终保持连接状态,除非断网或者主动退出登录.
- 后续只需发送和接收数据即可,数据响应更及时
- 长连接对服务器资源占用比较大
- 对交互响应要求快的应用,例如即时通讯,需要使用长连接
心跳包
-
是检测长连接的重要技术手段
-
可以由服务器发送
- 定时向客户端发送小数据,根据回执判断客户端是否在线
-
也可以由客户端发送
- 定时向服务器发送小数据,报告客户端当前在线
2.网络请求的步骤以及每个步骤的作用是什么?
-
通过IP找到服务器 通过端口号找到对应的处理请求的进程 通过传输协议给客户端
-
客户端(client) : 移动应用(ios . android 等应用)
-
服务器端(Server) : 为客户端提供服务\ 提供数据\ 提供资源的特殊的计算机
-
请求(Request) : 客户端向服务器索取数据的一种行为
-
响应(response) : 服务器对客户端的请求作出的反应,一般指返回数据给客户端
-
网络的核心是请求和响应 (请求怎么发送,响应怎么处理)
3.请将服务器按照软件开发阶段划分,并对别名\使用人群\速度进行分别介绍
-
服务器:
- 为客户端提供数据的特殊的计算机
-
按照软件开发阶段来分,服务器可以大致分为2种
- 远程服务器
- 别名:外网服务器\正式服务器
- 使用阶段:应用上线后使用的服务器
- 使用人群:供全体用户使用
- 速度:取决于服务器的性能 \ 用户的网速
- 本地服务器
- 别名:内网服务器 \ 测试服务器
- 使用阶段:应用处于开发 \ 测试阶段使用的服务器
- 使用人群:仅供公司内部的开发人员 \ 测试人员使用
- 速度:由于是局域网,所以速度飞快,有助于提高开发测试效率
- 远程服务器
4.什么是URL?
- URL 的全称是 Uniform Resource Locator(统一资源定位符
- 通过一个URL,能找到互联网上唯一的1个资源
- ==URL就是资源在互联网上的地址\位置,==互联网上的每个资源都有一个唯一的 URL
- 每个人都有住址,URL就是类似人的住址
URL格式
- 基本格式 : 协议头:// 主机地址/路径
- 协议头:不同的协议,表示不同的资源查找及传输方式
- 主机地址:存放资源主机的IP地址 (域名)
- 路径: 资源在主句中的具体位置
5.什么是HTTP协议?
- HTTP协议 的全称是 : Hypertext Transfer Protocol, 超文本传输协议
- 超文本:网络上的数据是多种多样的,除了文字,数据以外,还有视频,音频,图片...都是属于超文本.
- 传输 : 客户端和服务器之间的数据传递的过程,传递的都是二进制数据
- 协议 : 规定客户端和服务器之间的数据传递格式
6.请介绍HTTP协议的特点
-
简单快捷
- 因为HTTP协议简单,所以HTTP服务器的程序规模小,通信速度快
-
灵活
- HTTP 协议 允许传输任意类型的数据
-
HTTP 0.9 和 1.0 使用非持续链接
- 限制每次连接只处理一个请求,服务器对客户端的请求做出响应后,立刻断开连接.
- 每建立一次链接,只能发送一次请求,得到一次响应.
- 注意 : 非持续链接不适合频繁的请求.
-
HTTP 1.1 使用持续连接
- 不必为每个web对象创建一个新的连接,一个连接可以传送多个对象
- 每建立一次链接,发送一次请求并得到响应之后,链接不会立即断开,链接会持续保持一段时间.在这个时间内客户端如果还有请求就不需要再与服务器建立链接.
- 注意 : ==持续链接不是一直保持链接,这个链接只持续一定的时间.==因为不能长时间占用服务器资源.
7.网络通讯的三要素是什么?
- IP地址 : 找主机
- 端口: 找程序
- 协议: 确定数据的传输方式
8.网络模型结构有哪些?
14882010767542.jpg9.介绍TCP/IP 网络模型
应用层 : APP
- 对应OSI模型的前三层,为用户提供所需要的各种服务 ,例如 :FTP \ Telnet \ DNS \ SMTP \ HTTP等
传输层 : TCP,确定数据如何传输
- 为应用层提供端到端的通信功能,保证了数据包的传输顺序及数据完整性.两个主要协议 : TCP 和 UDP
网络层 : 确定目标计算机的IP地址
- 解决主机到主机的通信问题
- 它所保护的协议设计数据包在整个网路上的逻辑传输
- 注重重新赋予主机一个IP地址来完成对主机的寻址,它还负责数据包在多种网路中的路由.该层有三个主要协议:网际协议(IP)\互联网组管理协议(IGMP) 和互联网控制报文协议(ICMP)
链路层 (网络接入层): 硬件,添加帧头帧尾
- HTTP网络传输协议在传输层选择的是TCP/IP协议
- 负责监视数据在主机和网络之间的交换
10.请对TCP&UDP进行介绍
UDP
UDP(用户数据报协议)
- 只管发送,不确认对方是否接收到
- 将数据源和目标封装成数据包中,不需要建立连接
- 每个数据报的大小限制在64K之内
- 因为无需连接,因此是不可靠协议
- 不需要建立连接,速度快
- 应用场景:多媒体教室/网络流媒体
- 视频实时共享
- 当视频共享时,出现卡屏,就是因为UDP协议在传递数据时丢包了.
TCP
TCP(传输控制协议)
- 建立连接,形成传输数据的通道
- 在连接中进行大数据传输(数据大小不受限制)
- 通过三次握手完成连接,是可靠协议,安全送达
- 必须建立连接,效率会稍低
- TCP协议的传输速度比UDP协议慢
11.什么是Socket?
- Socket就是为网络服务提供的一种机制
- 通信的两端都是 Socket
- 网络通信其实就是 Socket 间的通信
- 数据在两个 Socket 间通过 IO 传输
- Socket 是纯C语言的,是跨平台的
网友评论