美文网首页
AFN3.0前后的区别

AFN3.0前后的区别

作者: 傲骨天成科技 | 来源:发表于2021-03-22 15:54 被阅读0次

    一、发展历程

    • AFNetworking 1.0建立在NSURLConnection的基础API之上。
    • AFNetworking 2.0 开始使用NSURLConnection的基础API,以及较新基于NSURLSession的API选项。
    • AFNetworking 3.0 现已完全基于NSURLSession的API

    二、废弃与新增

    废弃:

    • AFURLConnectionOperation
    • AFHTTPRequestOperation
    • AFHTTPRequestOperationManager

    依次被下面的三个类代替了,同时增加了一些改变

    • AFURLSessionManager
    • AFHTTPSessionManager
    • AFNetworkReachabilityManager

    三、AFNetwokring3.0为何弃用了NSURLConnection?

    1.NSURLSession提升了网络连接速度

    2015年,RFC文档编号7540正式发表了下一代HTTP协议HTTP/2.0, 它是1999年发布HTTP/1.1以后的首次更新。相对于前一个版本,HTTP/2.0 以快著称。加载同样一张图片,新的协议所用的时间是旧协议的四分之一。
    iOS9+,NSURLSession开始正式支持HTTP/2.0 ,意味着网速提高了,设计了更加优秀的API,所以开发者舍弃了NSURLConnection。

    2. Session采用了共享,而非每次都新建

    共享Session到底给网络连接带来了哪些好处呢?我们先聊一聊网络通讯协议。我们都知道,HTTP协议是基于TCP协议的。所以在每次的HTTP请求之前,客户端和服务端都先需要经过TCP连接的三次握手,即请求之前,网络的数据都已经在客户端和服务端之间来回了三次了,事实上在HTTP/0.9, HTTP/1.0协议的时代,每次HTTP的请求,都需要先经过TCP的连接,而后才开始HTTP的请求。那么,为了让我们的请求更快,避免每次都产生一个TCP三次握手,成了一个优化的选项。于是在HTTP/1.1中共享的Session将会复用TCP的连接,这样就避免了每次操作都开启一个TCP三次握手的时间浪费,即加速了网络请求时间。

    通过查看文档,我们可以知道iOS对同一个IP的服务器的最大并发数为4,OSX为6,但是如果没有共享Session,则可能会超过这个数。

    相关文章

      网友评论

          本文标题:AFN3.0前后的区别

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