iOS_网络_02_GET&POST
HTTP常见请求,GET和POST
一、GET和POST
GET和POST是两种最常用的与服务器进行交互的HTTP方法
1、GET
GET的语义是获取指定URL的资源
将数据按照variable=value的形式,添加到action所指向的URL后面,并且两者使用"?"连接,各变量之间使用"&"连接
貌似不安全,因为在传输过程中,数据被放在请求的URL中
传输的数据量小,这主要是因为受URL长度限制
2、POST
POST的语义是向指定URL的资源添加数据
将数据放在数据体中,按照变量和值相对应的方式,传递到action所指向URL
所有数据对用户来说不可见
可以传输大量数据,上传文件只能使用Post
涉及到用户隐私,一定要用POST,比如用户登录,银行卡账号
二、GET请求示例
三、POST请求示例
四、在浏览器中判断GET&POST请求
1、因为POST请求会向服务器发送数据体,因此在刷新页面时会出现提示窗口
2、而GET请求不会向服务器发送数据体,因此没有提示
3、从请求的本质而言,GET请求要比POST请求更安全,效率也会更高
五、利用Firebug轻松查看Post请求的内容
在开发网络应用时,用浏览器跟踪URL的返回结果是开发的重要辅助手段
六、iOS网络发送网络请求的步骤
1、实例化URL(网络资源)
2、根据URL建立URLRequest(网络请求)
- 默认为GET请求
- 对于POST请求,需要创建请求的数据体
3.利用URLConnection发送网络请求(建立连接)
4.获得结果
NSURLConnection提供了两个静态方法可以直接以同步或异步的方式向服务器发送网络请求
同步请求:
sendSynchronousRequest:returningResponse:error:
异步请求:
sendAsynchronousRequest:queue: completionHandler:
七、网络传输之二进制数据流
在网络请求过程中,接收数据的过程实际上是通过NSURLConnectionDataDelegate来实现的,常用代理方法包括:
服务器开始返回数据,准备工作
-(void)connection:didReceiveResponse:
收到服务器返回的数据,本方法会被调用多次
- (void)connection:didReceiveData:
数据接收完毕,做数据的最后处理
-(void)connectionDidFinishLoading:
网络连接错误
- (void)connection:didFailWithError:
让NSURLConnectionDataDelegate异步执行
[connection setDelegateQueue:[[NSOperationQueue alloc] init]];
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。