IOS开发—网络请求(HTTP协议)介绍
2015-03-19 09:09
579 查看
网络请求(HTTP协议)介绍
一、HTTP协议简单介绍
HTTP协议是网络请求中用得最为广泛的协议,全称为超文本传输协议,访问的是远程网络资源,格式是http://二、通信过程
1、客户端向服务器发送请求,请求的内容包括:(1)请求行(请求方法/HTTP协议/请求资源路径)
(2)请求头(描述客户端的信息)
(3)请求体(POST请求才需要有,存放具体参数)
2、服务器向客户端返回响应数据,响应的内容包括:
(1)状态行(响应行/状态码)
(2)响应头(服务器信息、返回数据的类型、返回数据类型的长度)
(3)响应体(返回给客户端的具体内容)
三、GET/POST请求
GET与POST请求是网络请求中最常用的两种请求方式。1、GET请求:
参数直接拼接在URL后面,且参数有限制,地址最多255字节。
2、POST请求:
参数放在请求体中,没有限制。
四、同步请求与异步请求
1、同步请求:一旦发送同步请求,客户端将停止用户交互,知道服务器响应并返回数据完成,才可以进行下一步操作。
2、异步请求:
通过开辟一个新的线程发送请求,不会阻塞主线程,用户依然可以与UI界面进行交互。
五、使用NSURLConnection发送同步/异步请求
1、发送同步请求:+ (NSData*)sendSynchronousRequest:(NSURLRequest *)requestreturningResponse:(NSURLResponse **)response error:(NSError **)error;
2、发送异步请求(非代理方式)
<pre name="code" class="objc">+(void)sendAsynchronousRequest:(NSURLRequest*) request queue:(NSOperationQueue*)queuecompletionHandler:(void (^)(NSURLResponse*response, NSData* data, NSError* connectionError)) handler;
3、异步请求的代理方式
(1)[NSURLConnectionconnectionWithRequest:request delegate:self]; (2)[[NSURLConnectionalloc] initWithRequest:request delegate:self]; (3)[[NSURLConnectionalloc] initWithRequest:request delegate:self startImmediately:YES]; (4)NSURLConnection*conn = [[NSURLConnection alloc] initWithRequest:request delegate:selfstartImmediately:NO]; [conn start];
六、各种请求方式代码示例
请读者自行翻阅下面3篇文档,包括GET/POST同步请求,GET/POST异步请求非代理方式,异步请求代理方式。相关文章推荐
- iOS开发中大部分App的网络数据交换是基于HTTP协议的。本文将简单介绍在Swift中使用HTTP进行网络请求的几种方法。
- iOS 开发 设置网络请求允许使用http
- iOS 开发 设置网络请求允许使用http
- iOS:网络编程中三个数据解析协议HTTP、XML、JSON的详细介绍
- iOS开发——网络篇——HTTP/NSURLConnection(请求、响应)、http响应状态码大全
- iOS开发 - 网络编程之HTTP协议
- IOS开发 网络详解(三)--- Http请求报文和响应报文(Get和Post)
- iOS 开发之 网络编程(HTTP协议,NSURL-get post)
- HTTP 协议 -- iOS开发网络开发
- iOS开发之网络请求(一)ASIHTTPRequest
- Sagit.Framework For IOS 开发框架入门教程6:网络请求STHttp
- iOS开发 - 第04篇 - 网络 - 02 - JSON解析 & 请求 & 黑酷例子 & HTTP通信
- iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。
- iOS开发网络请求中ASIHTTPRequest的用法整理
- 【iOS开发】网络协议之HTTP协议
- tlplayer for ios 最新谍报支持mms,rtsp,http,rtmp等网络协议.
- IOS开发之——ASIHTTPRequest请求时,发送了2次请求问题解决
- IOS中http网络请求get和post的区别
- iOS开发那些事-iOS网络编程同步GET方法请求编程
- [置顶] tlplayer for ios 最新谍报支持mms,rtsp,http,rtmp等网络协议.