0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

APP网络深度优化与网络安全的详细资料讲解

Wildesbeast 来源:今日头条 作者:微导流开发者服务 2020-02-24 13:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

说到APP优化,我们也可以从很多方面进行优化,从包大小、页面流畅度、内存占用、数据缓存、网络数据安全等等来优化加固我们的APP,每一个点展开又有很多需要将的,我以前也专门写了一篇关于APP性能优化的博文,如下:

iOS-性能优化的那些事》

在移动端APP网络优化也是APP性能优化的一个非常重要的一个点,而且99.99%的APP都会伴随着网络交互; 在此,我将对APP网络优化和网络安全做一个详细的总结,主要从流量、质量、安全方面去说,如要结构点如下:

流量消耗

先说一个亲身经历过得事情,以前在一家公司开发了一款APP,有一点客服反馈有个上海老大爷打电话过来骂人,手机装了我们的APP,一个晚上用掉人家一两个G;后来公司也主动帮人家承担了这部分的流量资费,关键是15年流量资费还很高的,这个APP当然不是我写的,是安卓的小伙伴!

即使流量现在价格不是很贵了,但是尽可能的帮用户节省流浪也是非常应该的!

检测流量消耗

相信大家在开发APP的时候肯定会做一些埋点和日志上报的功能,我们也可以把网络请求的监控也做进去,我们可以检测用户在一段时间内的流量消耗,计算流量的均值和峰值等等,并上报流量接口,这些我们在日志或者埋点系统里面都可以记录,然后上传给服务端,然后进行数据分析,找出流量消耗的不足之处。

数据缓存

说到缓存,这也是一个非常大的一个点,有时间也可以展开说,我平时的博客关于缓存也讲到很多,缓存的一个非常重要的好处就是提好了页面加载速度,提高用户的使用体验;但是缓存也可以替用户节省流量的消耗。 APP数据的缓存无非是列表接口的缓存、WebView的缓存,关于WebView的缓存我也单独写过,如下:

《iOS-WKWebView缓存并保证实时性》

《iOS-UIWebView缓存并保证实时性》

我们还可以做资源包下发预制加载等,这里也不展开了!

数据压缩

关于数据压缩,这边主要想讲的就是资源文件的数据压缩了,主要在网络上传和网络下载方面;

1.数据上传 比如上传图片数据的时候是不是需要原图高清图,现在相机的像素都高,我们是不是可以搞了压缩一下图片或者视频再上传,就像微信发送图片的时候,用户可以选择压缩或者原图;

2.数据下载 下载目前也是APP的大头了,一般APP都是请求下载的数据比较多;我们在加载资源的时候可以选择加载压缩资源,比如微信的朋友圈,小图的时候我们可以加载缩略图,要是点击查看大图的时候才考虑加载大图原图;

交互频率

数据交互如果比较频繁会消耗用户的流量,而且用户体验不好,还有一个非常重要的原因就是频繁的网络请求也会比较损耗手机的电量;所以我们可以合并一些能合并的网络请求,比如日志上报的时候。

请求释放

在APP开发的过程中,一般就是一进入页面就进行网络请求,然后等待结束加载数据,但是比如网络请求比较缓慢(可能是数据量比较大,也有可能是网络状况不好),用户不想等了,直接返回页面销毁了,但是我们的大部分网络请求是单独封装的,但是网络请求还在继续请求中,这里数据、性能、内存、电量的问题就出来了,所以大家在封装网络请求的时候要把页面销毁就取消网络请求的场景考虑进去!

网络质量

请求速度

网络请求的速度是影响用户体验的一个非常重要的原因,所以服务端也要想着来提高api的交互速度,为此我们可以通过下面的几个方案来优化交互速度,如下:

a.域名合并,减少了DNS调用次数,降低了DNS劫持风险;

b.ip直连,去除DNS的解析步骤;

c.api缓存,比如redis缓存;

d.数据资源压缩上传;

请求质量

监控网络请求质量和请求速度,然后记录日志进行上报,监控完整的网络请求链路;

服务器压力

api的设计也要考虑到api的压力以及服务器的压力,防止因为压力太大导致接口挂掉,从而影响用户的体验;

数据处理

服务端在给APP端提供数据的时候,避免让APP端进行数据处理或者运算,比较APP的内存资源和运算资源有限,不要过度消耗浪费APP资源; 比如,我上家公司的用户信息里面有用户的年龄,但是服务端给的不是直接的年龄数据,而是给的生日时间戳,需要APP端自己去计算年龄,但是我们知道 NSDateFormatter又是重大内存开销对象,在列表处理的时候又比较消耗内存,所以建议关于运算的一些东西最好在服务端计算好,这种不仅仅保证APP的性能问题,还是一种安全问题!

网络安全

我们在APP端的网络安全问题一般是APP抓包、DNS劫持、服务器安全,详细如下:

APP抓包

说到抓包,侵入者可以选择抓取数据来窃密APP的关键数据,然后模拟请求,做一些APP不好控制的事情,在此我们可以使用Https进行网络请求,还可以禁止网络请求设置代码; 还可以把请求头和请求体进行加密传输,多一次保证! 但是需要说明一点的是,没用绝对的安全,只要是人设计的加密就有人设计解密,窥视心里在作怪!

DNS劫持

DNS劫持,由于域名解析为IP这个过程中,其解析是基于UDP 协议实现,所以报文是明文状态,可能会在请求过程中被监测,然后攻击者做一些自己的处理,比如返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能反应或访问的是假网址。根本原因就是以下两点:

a.恶意攻击,拦截运营商的解析过程,把自己的非法东西嵌入其中。

b.运营商为了利益或者一些其他的因素,允许一些第三方在自己的链接里打打广告之类的。

如何防止DNS劫持? 可以通过上面我说的IP直连,自己在APP解析! 推荐一篇写的比较详细的关于DNS的,如下:

《APP网络优化之DNS优化实践》

服务器安全

服务器安全可以从物理安全和网络安全来说 a.物理安全,服务器要考虑比如断电、断网等情况下导致的安全问题; b.网络安全,防止服务器被攻击、被爬虫等问题; 所以,服务器的备份机制和数据备份机制和重要,还要限制同一IP的请求次数和间隔等;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    2476

    浏览量

    67020
  • APP
    APP
    +关注

    关注

    33

    文章

    1592

    浏览量

    76121
  • DNS
    DNS
    +关注

    关注

    0

    文章

    230

    浏览量

    21232
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    汽车网络安全合规全流程深度解析——从法规门槛到落地实践

    安全事件,覆盖车辆从出厂到报废的全生命周期。 第四,品牌与商业风险。 网络安全事件可能导致的不仅是召回成本,更是品牌声誉的毁灭性打击。在法规环境下,政府有权要求制造商提交资料以确认车辆安全
    发表于 04-21 13:03

    汽车网络安全 ISO/SAE 21434是什么?(一)

    ISO/SAE 21434全称为《Road vehicles—Cybersecurity engineering》(道路车辆—网络安全工程),是汽车行业首个全球统一的网络安全工程国际标准,由
    发表于 04-07 10:37

    光庭信息通过ISO 21434汽车网络安全流程认证

    近日,国际公认的测试、检验和认证机构SGS为光庭信息颁发ISO/SAE 21434:2021汽车网络安全流程认证证书。此次认证的通过,标志着光庭信息已建立起符合ISO/SAE 21434:2021
    的头像 发表于 03-12 17:35 1511次阅读
    光庭信息通过ISO 21434汽车<b class='flag-5'>网络安全</b>流程认证

    国产网络安全整机在工控网络安全上的保护策略

    网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,确保系统连续可靠正常地运行,网络服务不中断。
    的头像 发表于 01-27 10:27 270次阅读
    国产<b class='flag-5'>网络安全</b>整机在工控<b class='flag-5'>网络安全</b>上的保护策略

    解读“网络安全等级保护”:守护网络空间的法律基石与实战指南

    前言服务器上稳定闪烁的指示灯背后,是等级保护制度为海量数据流动筑起的无形防线——它们不仅是技术标准,更是《网络安全法》规定的国家基石。人们经常听到“等保二级”、“等保三级”,它们并非简单的数字标签
    的头像 发表于 01-12 17:31 709次阅读
    解读“<b class='flag-5'>网络安全</b>等级保护”:守护<b class='flag-5'>网络</b>空间的法律基石与实战指南

    人工智能时代,如何打造网络安全“新范式”

    在当今信息化迅速发展的时代,5G、大数据、云计算、深度学习等新兴技术的广泛应用,带来了前所未有的网络安全挑战。人工智能技术的崛起,为网络安全领域提供了新的解决方案,尤其在威胁识别、告警分析、态势感知
    的头像 发表于 12-02 16:05 581次阅读

    攻击逃逸测试:深度验证网络安全设备的真实防护能力

    。 基于测试结果的持续优化,使双方共同构建起能够应对新型威胁的主动防御体系,实现安全防护能力的螺旋式上升。 攻击逃逸:深度隐匿的网络安全威胁 攻击逃逸(Evasion Attack)是
    发表于 11-17 16:17

    国产“芯”防线!工控机如何筑牢网络安全屏障

    在当今世界,信息化和数字化已经成为全球发展的大趋势,而网络安全则是数字时代最重要的基石之一。在这个防护网络安全的战场上,国产工控机正以自主创新的实力捍卫网络安全屏障,在银行、机关部门、工业互联网等关键领域构建起坚实的防护线,成为
    的头像 发表于 09-29 17:32 976次阅读

    商汤科技亮相2025国家网络安全宣传周

    近日,2025年国家网络安全宣传周网络安全企业家座谈会在昆明滇池国际会展中心举行。中央网信办有关司局负责同志以及36家企业50余位代表参会。
    的头像 发表于 09-23 17:56 1322次阅读

    华为亮相2025国家网络安全宣传周

    2025国家网络安全宣传周(以下简称“网安周”)在昆明正式开幕。今年大会主题为“网络安全为人民,网络安全靠人民”,网安周以会议、论坛、竞赛、展览等多种形式着力展示创新成果。大会期间,华为众多重磅
    的头像 发表于 09-16 15:12 1292次阅读
    华为亮相2025国家<b class='flag-5'>网络安全</b>宣传周

    wifi解决方案实现了网络安全

    silex希来科wifi解决方案实现了网络安全
    的头像 发表于 08-27 15:01 787次阅读

    Claroty与NIST网络安全框架中文手册

    的 IEC-62443 标准,以及一些法规,例如,美国运输安全管理局(TSA)针对交通运输的指令、欧盟 NIS2 指令。随着这些标准的采用率不断提升,它们将促使关键基础设施企业优化网络安全计划,以保持合规性,提高其弹性,并避免
    发表于 06-20 17:14 0次下载

    Claroty BMS 网络安全解决方案中文资料

    电子发烧友网站提供《Claroty BMS 网络安全解决方案中文资料.pdf》资料免费下载
    发表于 06-17 17:03 1次下载

    海康威视荣获2024优秀网络安全创新成果

    近日,由武汉市人民政府主办,国家网络安全人才与创新基地、中国网络空间安全协会等单位承办的第二届武汉网络安全创新论坛在武汉举办。会上,海康威视联合浙江大学滨江研究院共同研发的人工智能
    的头像 发表于 05-07 18:12 1044次阅读

    直面网络安全挑战,“明阳安全自组网” 打造全方位防御体系

    带来的安全隐患,仅仅是网络安全风险的冰山一角。网络安全困局与“安全自组网”破局之道随着网络技术的发展和应用场景的拓展,
    的头像 发表于 04-27 10:55 1306次阅读
    直面<b class='flag-5'>网络安全</b>挑战,“明阳<b class='flag-5'>安全</b>自组网” 打造全方位防御体系