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

    文章

    1462

    浏览量

    61571
  • APP
    APP
    +关注

    关注

    33

    文章

    1559

    浏览量

    72193
  • DNS
    DNS
    +关注

    关注

    0

    文章

    213

    浏览量

    19719
收藏 人收藏

    评论

    相关推荐

    IP风险画像如何维护网络安全

    在当今数字化时代,互联网已成为我们生活、工作不可或缺的一部分。然而,随着网络应用的日益广泛,网络安全问题也日益凸显。为了有效应对网络安全挑战,IP风险画像技术应运而生,正逐步成为构建网络安全
    的头像 发表于 09-04 14:43 163次阅读

    MSPM0 MCU中的网络安全机制

    电子发烧友网站提供《MSPM0 MCU中的网络安全机制.pdf》资料免费下载
    发表于 08-29 10:05 0次下载
    MSPM0 MCU中的<b class='flag-5'>网络安全</b>机制

    网络安全技术商CrowdStrike与英伟达合作

    网络安全技术商CrowdStrike与英伟达合作共同研发更先进的网络防御解决方案;提升CrowdStrike Falcon平台的威胁检测速度和准确性。将通过人工智能原生平台CrowdStrike
    的头像 发表于 08-28 16:30 1065次阅读

    人工智能大模型在工业网络安全领域的应用

    随着人工智能技术的飞速发展,人工智能大模型作为一种具有强大数据处理能力和复杂模式识别能力的深度学习模型,已经在多个领域展现了其独特的优势和广阔的应用前景。在工业网络安全领域,人工智能大模型的应用不
    的头像 发表于 07-10 14:07 468次阅读

    工业控制系统面临的网络安全威胁有哪些

    ,随着技术的发展,工业控制系统也面临着越来越多的网络安全威胁。本文将详细介绍工业控制系统面临的网络安全威胁,并提出相应的防护措施。 恶意软件攻击 恶意软件攻击是工业控制系统面临的最常见网络安全
    的头像 发表于 06-16 11:43 1022次阅读

    Palo Alto Networks与IBM携手,深化网络安全合作

    网络安全领域的两大巨头Palo Alto Networks和IBM近日宣布建立全面合作伙伴关系,共同推动网络安全领域的创新发展。根据协议,Palo Alto Networks将收购IBM的QRadar SaaS资产及相关知识产权,以进一步拓展其
    的头像 发表于 05-22 09:40 462次阅读

    揭秘!家用路由器如何保障你的网络安全

    家用路由器保障网络安全需选知名品牌和型号,设置复杂密码并开启防火墙,定期更新固件,使用安全协议,合理规划网络布局,及时发现并处理异常。提高家庭成员网络安全意识共同维护
    的头像 发表于 05-10 10:50 387次阅读

    企业网络安全的全方位解决方案

    安全域划分到云端管理,全面构建企业网络安全防线 在数字化浪潮席卷全球的今天,企业网络安全已经成为商业运营中不可忽视的一部分。随着企业数字资产价值的不断攀升,网络安全挑战也愈发严峻。数
    的头像 发表于 04-19 13:57 485次阅读

    自主可控是增强网络安全的前提

    后成立了中央网络安全和信息化领导小组,这标志着我国网络空间安全国家战略已经确立。      网络安全的内涵可以包括:    -信息安全。它是
    的头像 发表于 03-15 17:37 602次阅读

    工业发展不可忽视的安全问题——OT网络安全

    在数字化时代,工业运营技术(OT)的网络安全比以往任何时候都更加重要。DataLocker,作为OT网络安全的守护者,提供了全面的加密和数据管理解决方案,确保关键基础设施免受网络威胁。一、OT
    的头像 发表于 03-09 08:04 1973次阅读
    工业发展不可忽视的<b class='flag-5'>安全</b>问题——OT<b class='flag-5'>网络安全</b>

    汽车网络安全-挑战和实践指南

    汽车网络安全-挑战和实践指南
    的头像 发表于 02-19 16:37 434次阅读
    汽车<b class='flag-5'>网络安全</b>-挑战和实践指南

    FCA汽车网络安全风险管理

    汽车工业继续在车辆上增加连接,以满足顾客对技术的贪得无厌的需求,但汽车不仅仅是某些计算机网络上的不安全端点--一些人所描绘的--汽车网络安全正在打造一个新的产品网络安全领域,打造这一新
    发表于 12-29 10:48 347次阅读
    FCA汽车<b class='flag-5'>网络安全</b>风险管理

    联网自动驾驶机器人的网络安全

    联网自动驾驶机器人的网络安全
    的头像 发表于 12-26 10:37 299次阅读
    联网自动驾驶机器人的<b class='flag-5'>网络安全</b>

    网络安全测试工具有哪些类型

    网络安全测试工具是指用于评估和检测系统、网络和应用程序的安全性的一类软件工具。这些工具可以帮助组织和企业发现潜在的安全漏洞和威胁,以便及时采取措施加固和修复。根据不同的功能和用途,
    的头像 发表于 12-25 15:00 1039次阅读

    网络安全评估技术综述

    电子发烧友网站提供《网络安全评估技术综述.pdf》资料免费下载
    发表于 10-07 11:05 1次下载