iOS网络优化

网络可优化部分
缓存DNS映射关系

为什么要DNS缓存:减少DNS解析时间,防止DNS劫持、服务器动态部署。
需要注意的是映射关系的及时更新、缓存时间的设定,如果映射出错,使用默认的DNS解析

压缩请求数据

服务器端使用合理的数据结构,减少用户请求延迟。若返回数据太大,会形成部分IP包缓存,从而增加了延迟

请求的安全性

合理的使用AES和RSA加密,尽量使用HTTPS,公钥要及时刷新。可以用两个token。
现阶段苹果公司还允许APP用HTTP协议上架App store。但是,到17年1月1号起,所有上架App store的APP需要全部是使用HTTPS。

合理的并发数目

多个请求并发数目控制,多了容易增加整体延迟,少了无法合理利用CPU性能,同时容易造成劣币驱逐良币的情况

关于请求的保障性

对于关键业务来说尽量要保证100%的成功率,最简单的方式就是采取多次请求的方式确保成功率。
例如在比较麻烦的IM类型APP消息处理方面,需要做本地消息缓存,对于发送失败的消息需要做网络待请求队列,
非关键业务请求制作一次,比如后台偷跑的请求。

网络环境的监控

比如只有在WIFI情况下才能下载,不同的环境做不同的请求策略比较重要

成功率监控措施

对网络请求成功率做统计,存储在本地,一定规模后发送给服务器,可以反映出服务器存在的问题

本篇仅作笔记,参考自
https://zhuanlan.zhihu.com/p/22943142
http://mrpeak.cn/blog/encrypt/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • (1)博客 a,阿里无线11.11:手机淘宝 521 性能优化项目揭秘 阿里无线11.11:手机淘宝移动端接入...
    davidxwwang阅读 9,463评论 2 39
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • 《Professional iOS Network Programming 读书笔记》 一,度量网络性能1、网络带...
    iLees阅读 8,227评论 1 13
  • DNS查找时间 可以使用的工具 最小化应用使用的专有域名的数量 如果子域名数量上升至两位数,我们需要仔细考虑这方面...
    andyJi阅读 1,548评论 0 12
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,019评论 25 708