iOS开发网络篇—网络请求(HTTP协议)小结
iOS开发网络篇—网络请求(HTTP协议)小结
iOS开发网络篇—网络请求(HTTP协议)小结
1. 聊一下HTTP协议(协议的完整的通信过程)
2.通信过程
1> 请求
* 客户端 --> 服务器
* 请求的内容
a. 请求行(请求方法\HTTP协议\请求资源路径)
b. 请求头(描述客户端的信息)
c. 请求体(POST请求才需要有, 存放具体数据)
2> 响应
* 服务器 --> 客户端
* 响应的内容
a. 状态行(响应行, 状态码)
b. 响应头(服务器信息, 返回数据的类型, 返回数据的长度)
c. 实体内容(响应体, 返回给客户端的具体内容)
3.HTTP请求的方法
1> GET
* 参数都拼接在URL后面
* 参数有限制
2> POST
* 参数都在请求体
* 参数没有限制
4.iOS中发送GET\POST请求的手段
1> NSURLConnection
* 发送一个同步请求
+ (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse **)response error:(NSError **)error;
* 发送一个异步请求
+ (void)sendAsynchronousRequest:(NSURLRequest*) request
queue:(NSOperationQueue*) queue
completionHandler:(void (^)(NSURLResponse* response, NSData* data, NSError* connectionError)) handler;
* 代理的方法(异步)
[NSURLConnection connectionWithRequest:request delegate:self];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
[[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:NO];
[conn start];
最新文章
- Format
- python实现汉诺塔
- ios异常错误
- Ajax+JQuery
- win7 双屏双任务栏
- 什么情况下可以不写PHP的结束标签“?>;”
- Hibernate之N+1问题
- PLSQL_Oracle外部表的概念和使用(案例)
- IOS CLLocationManager定位反编码位置信息
- JavaPersistenceWithHibernate第二版笔记-第四章-Mapping persistent classes-002identity详解
- 【转】eclipse中egit插件使用
- DedeCMS官方手册
- UESTC_冬马党 CDOJ 882
- Ubuntu 12.04 搭建 Eclipse Android 开发环境(转)
- MRP工作台任务下达之计划组为必输
- Delphi_MemoryModule — load DLL from memory. Also includes hooking utilities.
- 跨线程传递栈变量带来异常指针Crash
- 初识 BFC、 IFC、GFC、FFC
- JVM运行和类加载过程
- OJ题:输入一个多位的数字,求各数位相加。
热门文章
- cholesky分解
- Java中join()方法的理解
- [Design Pattern] Command Pattern 命令模式
- Robot Framework安装配置 windows
- OpenStack入门之初步认识
- Mvc中DropDownList 和DropDownListFor的常用方法
- C++ —— 笔记汇总
- 用MFC完成一个简单的猜数字游戏: 输入的四位数中,位置和数字都正确为A,数字相同而位置不同的为B。
- 基于Android Volley的网络请求工具
- Java基础知识强化75:正则表达式之分割功能(字符串中的数字排序案例)