您的位置:首页 > 理论基础 > 计算机网络

网络数据请求-方法/思想总结

2016-04-26 08:24 316 查看
1. 网络数据请求-封装请求

  调用的开发者

  1.创建这个网络对象(httpRequest)

2.在该ViewController类里遵循协议

3.实现协议中的方法

  封装的开发者

  1.根据NSURLConnection异步的方法进行封装, 创建url对象,保留delegate 最后发送异步请求

  2.让封装的类遵循协议(NSURLConnectionDataDelegate)

  3.让封装的类(QDLHttpRequest)去实现该协议中的方法(4个)

2. 数据请求方法

NSURLConnection 系统自带的 常用的网络请求方式

NSURLSession 系统自带的 iOS7.0之后出现的,它使用了block ,所以提高了开发效率

AFNetworking 第三方的目前很多公司经常使用第三方,内部集成了NSURLConnection和NSURLSession 环境是ARC, 也使用block 提高了开发效率,

  并且不用系统库支持

ASIHttpRequest 第三方 原来经常使用的数据请求库 缺点就是:环境需要MRC, 并且没有使用block,需要进行ARC和MRC之间的转换(混编)

  优点:ASI这个第三方库已经没有开发维护,比较成熟,比较稳定,很多开发者对ASI进行了一次block网络层封装后再调用使用

3. Get请求和Post请求

1. 一般get是从服务器上获取数据,post是向服务器传送数据

2. get请求是把参数列表加到提交表单中的ACTION属性中,值和表单内容各个字段一一对应,在我们的URL中可以看到。post请求是通过HTTP post机制,   将表单的各个字段和其他的内容设置到Html Header 里一起传送到ACTION属性指定的URL地址。(说白了用户无法看到此过程)

3. 对应的get方式,传送的数据比较小,不能大于2KB post方式传送的数据比较大,一般被默认为不受限制,但是理论上,IIS4中最大的数据量为80KB

  II5最大的数据量为100KB

4. get安全性非常低,post安全性非常高。但是执行效率get比post要好

建议:

get方式安全性比post差,所以建议用post方式提交数据

在做数据查询的时候,建议用get方式,而在做数据的添加、修改或删除的时候,建议用post方式

4. KVO :key Value Obeserve 观察对象的属性,如果属性值发生了变化 会根据变化响应不同的方法 键值观察者

5. 设置网络监测状态改变

[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

/*

AFNetworkReachabilityStatusUnknown = -1, 未知网络

AFNetworkReachabilityStatusNotReachable = 0, 无网络

AFNetworkReachabilityStatusReachableViaWWAN = 1, 运营商网络 如2G 3G 4G 5G

AFNetworkReachabilityStatusReachableViaWiFi = 2, WiFi网络

*/

switch (status) {

case AFNetworkReachabilityStatusUnknown:

{

NSLog(@"未知网络");

}

break;

case AFNetworkReachabilityStatusNotReachable:

{

NSLog(@"无网络");

}

break;

case AFNetworkReachabilityStatusReachableViaWiFi:

{

NSLog(@"wifi网络");

}

break;

case AFNetworkReachabilityStatusReachableViaWWAN:

{

NSLog(@"运营商网络");

}

break;

default:

break;

}

}];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: