AFNetworking实现原理理解
NSURLSession: NSURLSession由三个基本模块构成: NSURLSession NSURLSessionConfiguation NSURLSessionTask NSURLSession相对于平时通信中的会话,但本身却不会进行网络数据传输,它会穿件多个NSURLSessionTask去执行每次的网络请求 NSURLSession的行为取决于三个方面。包括NSURLSession的类型、NSURLSessionTask的类型和在创建task时APP是否处于前端 NSURLSession有三种类型 defaultSession将cache和creditials储存于本地 Ephemeral Session对数据更加保密安全,并不会向本地储存任何数据,将cache和creditials储存在内存中,并和Session绑定,当Session销毁时,对应的数据也会被销毁。 backgroundSession可以时APP处于后台时继续数据传输,其行为与defaultSession类似,但是所有的数据传输均由一个非本APP的进程来管理。也有一些功能上的限制。 在创建Session对象时通过NSURLSessionConfigration来配置,可设置Session的delegate Session一但配置完成,就不能修改,除非创建一个新的Session对象。