HTTP协议学习笔记
2015-06-14 17:46
453 查看
HTTP协议
1.面试题:聊一下HTTP协议(协议的完整通信过程)
2.通信过程
1> 请求
客户端 -> 服务器
请求的内容
a. 请求行(请求方法,GET还是POST;/HTTP协议,版本号,1.1还是1.0;/请求资源路径,url)
b. 请求头(描述客户端的信息,客户端的操作系统,要请求数据的一些信息,等)
c. 请求体(POST请求才需要有,存放具体数据)
2> 响应
服务器 -> 客户端
响应的内容
a. 状态行(响应行,状态码)
b. 响应头(服务器的信息,返回数据的类型,返回数据的长度)
c. 实体内容(响应体,返回给客户的具体内容)
3.HTTP请求的方法
1> GET
参数都拼接在URL后面
参数有限制
2> POST
参数都在请求体
参数没有限制
4.iOS中发送GET/POST请求的手段
1> NSURLConnection
NSURLConnection局部对象(例如上面的connection)不会被自动销毁,请求完成后才会被销毁;所以上面前三句代码没有创建对象也可以完成请求。
1.面试题:聊一下HTTP协议(协议的完整通信过程)
2.通信过程
1> 请求
客户端 -> 服务器
请求的内容
a. 请求行(请求方法,GET还是POST;/HTTP协议,版本号,1.1还是1.0;/请求资源路径,url)
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 conectionWithRequest:request delegate:self]; [[NSURLConnection alloc] initWithRequest:request delegate:self]; [NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES]; NSURLConnection *connection = [NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:NO]; /*这里可以做一些操作,然后再开始请求数据*/ [connection start];
NSURLConnection局部对象(例如上面的connection)不会被自动销毁,请求完成后才会被销毁;所以上面前三句代码没有创建对象也可以完成请求。
相关文章推荐
- 一个关于if else容易迷惑的问题
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- ruby实现的一个异步文件下载HttpServer实例
- 科学知识:同步、异步、阻塞和非阻塞区别
- 探讨Ajax中同步与异步之间的区别
- 一道sql面试题附答案
- C# 超高面试题收集整理
- C#中异步回调函数用法实例
- 人人网javascript面试题 可以提前实现下
- Jquery异步提交表单代码分享
- JQuery异步获取返回值中文乱码的解决方法
- Node.js 的异步 IO 性能探讨
- PHP中设置一个严格30分钟过期Session面试题的4种答案
- Ajax异步(请求)提交类 支持跨域