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

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异步请求非代理方式,异步请求代理方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐