基于OC的网络

网络


URL的基本格式 =协议://主机地址/路径

http://ios.itcast.cn/ios/images/content_25.jpg

http://202.108.22.5/img/bdlogo.gif

协议:不同的协议 代表不同的资源查找方式资源传输方式

主机地址:存放资源的主机的IP地址(域名)

路径: 资源在主机中的具体位置

HTTP协议——超文本传输协议

规定客户端与服务器之间的数据传输格式

让客户端与服务器能有效的进行沟通


请求:

1.请求行:请求方法,请求资源路径,HTTP协议版本

2.请求头:对客户端的环境描述,客户端请求的主机地址

3.请求体:客户端发给服务器的具体数据

响应:

1.状态行:http协议版本,状态码(200-OK 404-Not Found 400-Bad Request 500-Internal Server Error),状态英文名称 

2.响应头:服务器的描述,返回数据的描述

3.实体内容:服务器返回给客户端的具体数据比如文件数据


URL里面不能包含中文所以字符串要提前转码

URLStr = [URLStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL * URL = [NSURL URLWithString:URLStr];


charles是一款代理服务器软件可以用来拦截网络请求

利用Charles能得知大部分公司的APP的数据来源和数据格式


通信过程:

1》请求

*客户端》服务器

*请求的内容

a.请求行(请求方法、HTTP协议、请求资源路径)

b.请求头(描述客户端的信息)

c.请求体(POST请求才需要有、存放具体数据)

2》响应

*服务器——》客户端

*响应的内容

a.状态行(响应行、状态码)

b.响应头(服务器信息、返回数据的类型、返回数据的长度)

c.实体内容(响应体、返回给客户端的具体内容)


HTTP请求的方法:

1GET

*参数都拼接在URL后面

*参数有限制

2POST

*参数都在请求体

*参数没有限制


大文件下载(边下边写到本地沙盒路径中)

接收到服务器的响应的代理方法

NSFileHandle * writeHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];

下载数据更新的代理方法

[writeHandle seekToEndOfFile]; //每次都要把偏移量移到最后 进行追加数据

[writeHandle writeData:data];// 把每次下载的数据拼到文件中

数据加载完成的代理方法

[writeHandle close];


断点续传

通过设置请求头(从当前数据长度下载)

[request setValue:[NSString stringWithFortmat:@“bytes=%lld-”, currentLength] forHTTPHeaderField:@“Range”];


















 













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值