iOS 开发 网络编程详解之基本概念

网络基本模型

  • 客户端(Client):移动应用(iOS、android等应用)
  • 服务器(Server):为客户端提供服务、提供数据、提供资源的特殊的计算机
  • 请求(Request):客户端向服务器索取数据的一种行为
  • 响应(Response):服务器对客户端的请求做出的反应,一般指返回数据给客户端
  • 网络的核心是请求和响应.即请求怎么发,响应怎么回.
  • 移动开发工程师,主要的精力都是放在客户端开发

这里写图片描述

服务器

按照软件开发阶段来分,服务器可以大致分为2种

远程服务器:外网服务器、正式服务器

  • 使用阶段:应用上线后使用的服务器
  • 使用人群:供全体用户使用
  • 速度:取决于服务器的性能、用户的网速

本地服务器:内网服务器、测试服务器

  • 使用阶段:应用处于开发、测试阶段使用的服务器
  • 使用人群:仅供公司内部的开发人员、测试人员使用
  • 速度:由于是局域网,所以速度飞快,有助于提高开发测试效率
  • 在工作中,会有专门的后端人员开发服务器程序,不由得你选择

请求之URL

http://gov.163.com/special/jungai2016_vs/

  • URL 的全称是 Uniform Resource Locator(统一资源定位符)
  • 基本格式:协议头://主机地址/路径
    • 协议头:不同的协议,表示不同的资源查找及传输方式
    • 主机地址:存放资源主机的 IP 地址(域名)
    • 路径:资源在主机中的具体位置
  • 常见URL协议
    • HTTP:// 超文本传输协议
    • FTP:// 传输文件协议
    • File:// 获取本地文件协议
    • mailto:// 发邮件协议
    • tel:// 打电话协议
    • sms:// 发短信协议
  • 主机地址
    • 主机地址(IP地址)和域名是一一对应的.www.baidu.com 和 119.75.217.109,在浏览器中都可以获取到百度首页数据.
    • 通过www.baidu.com是如何找到百度的服务器地址的?
      DNS服务器会将域名解析成IP地址.
    • 域名比IP地址更方便使用者记忆和使用.效果是一样的.

HTTP协议

  • HTTP协议 的全称是 Hypertext Transfer Protocol,超文本传输协议
    • 超文本 : 网络上的数据是多种多样的.除了文字,数字以外,还有视频,音频,图片…都是属于超文本.
    • 传输 : 客户端和服务器之间的数据传递的过程.传递的都是二进制数据.
    • 协议 : 规定客户端和服务器之间的数据传递格式.
      这里写图片描述

HTTP协议特点

  • 而HTTP连接使用的是“请求—响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。
  • HTTP版本
    • HTTP 0.9 和 1.0 使用非持续链接
      限制每次连接只处理一个请求,服务器对客户端的请求做出响应后,立刻断开连接.
      每建立一次链接,只能发送一次请求,得到一次响应.
      注意 : 非持续链接不适合频繁的请求.
    • HTTP 1.1 使用持续连接
      不必为每个web对象创建一个新的连接,一个连接可以传送多个对象
      每建立一次链接,发送一次请求并得到响应之后,链接不会立即断开,链接会持续保持一段时间.在这个时间内客户端如果还有请求就不需要再与服务器建立链接.
      注意 : 持续链接不是一直保持链接,这个链接只持续一定的时间.因为不能长时间占用服务器资源.

长连接和短连接 & 心跳包

  • 短连接

    • 非持续链接和持续链接都是短链接.
    • 数据请求结束后,会断开连接
    • 能够及时释放服务器资源
  • 长连接

    • 一旦连接建立之后,始终保持连接状态,除非断网或者主动退出登录.
    • 后续只需发送和接收数据即可,数据响应更及时
    • 长连接对服务器资源占用比较大
    • 对交互响应要求快的应用,例如即时通讯,需要使用长连接
  • 心跳包

    • 是检测长连接的重要技术手段
    • 可以由服务器发送: 定时向客户端发送小数据,根据回执判断客户端是否在线
    • 也可以由客户端发送: 定时向服务器发送小数据,报告客户端当前在线
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值