美文网首页
iOS网络高级编程(6-11)

iOS网络高级编程(6-11)

作者: bearIT | 来源:发表于2019-11-06 18:09 被阅读0次

    第六章 保护网络传输

    使用NSURLProtectionSpace验证手机银行应用的用户与安全的银行服务器进行通信,特别是在发出的请求会操纵后端数据时更是如此。NSURLProtectionSpace表示需要认证的服务器或域,是所有进来的NSURLAuthenticationChallenges的一个属性。

    MAC算法: (Message Authentication Codes) 带秘密密钥的Hash函数:消息的散列值由只有通信双方知道的秘密密钥K来控制。此时Hash值称作MAC。

    请求,响应发生的步骤

    MD5  、 SHA-1  、SHA-256  、 DES  、 AES  、 Triple-DES

    在设备上安全的存储认证信息:既然应用能安全地与服务层进行通信,那就需要在设备上安全地存储信息。Apple提供了Keychain Services API 来完成这项工作。Keychain是一种在设备上安全存储少量数据的机制,比如密码、密钥、证书和身份信息等。Keychain并不适合于通用目的的加密和数据存储,而是用来存储需要保护的信息,比如密码和私钥就会以加密的形式存储起来。

    Keychain 有两个重要的属性:kSecAttrAccessible 与 kSecAttrAccessGroup。

    第七章 优化请求性能

    度量网络性能:带宽、延迟、电量功耗

    网络带宽:可以描述为两个端点之间的通信通道每秒钟可以传输的位数。

    网络延迟:指的是网络包在两个端点间一次往返所需的时间。

    电量功耗:iOS设置的运行通常使用的是都是电池。

    1.减少请求带宽:响应压缩、请求压缩、

    响应压缩:响应负载压缩是最简单的一种HTTP负载压缩形式。响应有响应头和响应体构成。响应压缩会对响应体应用的数据压缩算法,但不会操纵HTTP头。

    请求压缩:比较复杂,因为需要客户端和服务器端两边实现,web浏览器对请求压缩的支持并不太好,因为浏览器不知道目标服务器是否能够支持对请求的解压缩。iOS应用首先查询服务器来判断是否支持压缩,然后根据服务器的响应来调整其行为。

    避免网络请求:默认缓存行为、配置NSURLCache

    8 底层网络

    BSD Socket 完全使用C语言实现,担负起几乎所有的Internet流量,并且可以让应用程序开发人员完全控制到远程设备或服务器的通信。Socket指的是两个端点之间的单向连接,因此它们通常情况下都是成对出现的:一个用于读,一个用于写。

    原始的Socket无法访问操作系统内建的网络特性(比如系统范围的VPN)。更糟糕的是,初始化Socket连接并不会自动打开设备的Wi-Fi或是蜂窝无线电。无线电会智能地关闭以节省电池电量。任何通信连接都会失败,除非其他网络进程激活了无线电。CFNetwork对BSD Socket的封装可以激活设备的无线电,因此几乎所有的场景中,我们都建议使用CFNetwork而非BSD Socket。

    CFNetwork位于框架层次的更上一层,是对BSD Socket的一层轻量级。

    NSStream是针对CFNetworkAPI的OC封装器,NSStream使用委托协议NSStreamDelegate,几乎完全模仿了CFNetwork流回调函数的功能。NSStream有两个具体类,分别是NSInputStream与NSoutputStream

    第九章 测试与操纵网络流量

    Wireshark 可以追踪TCP流的能力

    Charles

    第十章 使用推送通知

    本地通知都是UILocalNotification为例,需要用fireDate来告知系统何时推送通知。不使用fireDate调度本地通知会立刻将通知发送出去。

    timeZone,时区

    repeatInterval:重复

    UILocalNotification 远程通信

    第十一章 应用间通信

    1.URL方案,注册URL Schemes

    2.共享钥匙串:对于企业特别有用,因为它会创建一块公共区域,共享同一BundleSeed ID的所有应用都可以访问这块区域。通过这块共享空间,我们可以非常轻松的为一组相关应用实现单点登录(Single Sign-On, SSO)认证系统。

    相关文章

      网友评论

          本文标题:iOS网络高级编程(6-11)

          本文链接:https://www.haomeiwen.com/subject/upejuctx.html