关于网络的一些基本概念

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.网络模型结构有哪些?

关于网络的一些基本概念_第1张图片
14882010767542.jpg

9.介绍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语言的,是跨平台的

你可能感兴趣的:(关于网络的一些基本概念)