UIday1601:网络编程 GET POST 的同步或异步请求,服务器接口的简单介绍。

第十六讲 网络编程
 一、协议的概念
 ⼆、iOS平台如何实现HTTP协议请求
 三、服务器接⼝的简单介绍
 
 ⼀、HTTP协议的概念
 HTTP协议,Hyper Text Transfer Protocol(超⽂本传输协议)是用于从万维⺴服务器传送超⽂本到本地浏览器的传输协议,HTTP是一个应⽤层协议,由请求和响应构成,是⼀个标准的客户端服务器模型。
 
 了解 C/S 模式
 Client 和 Server 常常分别处在相距很远的两台计算机上,Client程序的任务是将⽤户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显⽰给⽤户;Server程序的任务是接收客户程序提出的服务请求,进⾏相应的处理,再将结果返回给客户程序
 
 ⼆、iOS实现⺴络编程
 HTTP协议请求如何实现
 ⺴络请求地址对象 NSURL的作用及用法
 ⺴络请求对象 NSURLRequest、NSMutableURLRequest的作⽤及⽤法
 ⺴络链接对象 NSURLConnection 的作⽤及⽤法
 ⺴络链接协议 NSURLConnectionDelegate 的作⽤及⽤法
 ⺴络请求数据信息 NSURLResponse 的作⽤及⽤法
 
 NSURL
 url,统⼀资源定位符,也被称为网址,因特⺴上标准的资源⺴址
 一个典型的url:http://lily:123456@www.google.com/search?hl=en&source=hp&q=mysql&aq=f&oq=&aqi=g10#page
 url 的符语法:协议://授权/路径?查询
 协议: ftp://(文件传输协议)  http://(超⽂本传输协议)
 https://(安全超文本传输协议) file://(本地文件协议)
 
 url作为网址字符串包含很多请求参数,NSURL对网址字符串进行封装,
 可以使用NSURL对象获取相应的参数。
 absoluteString: http://lily:123456@www.google.com/search?hl=en&source=hp&q=mysql&aq=f&oq=&aqi=g10#page
 scheme: http
 host: www.google.com
 user: lily
 password: 123456
 port: 8080
 query: hl=en&source=hp&q=mysql&aq=f&oq=&aqi=g10
 
 请求⽅式
 GET
 POST
 相同点:都能给服务器传输数据
 不同点:
 1、给服务器传输数据的⽅式:
 GET:通过⺴址字符串。
 POST:通过data
 2、传输数据的⼤小:
 GET:⺴址字符串最多255字节。
 POST:使⽤NSData,容量可能超过1G
 3、安全性:
 GET:所有传输给服务器的数据,显⽰在⺴址⾥,类似于密码的明⽂输入,直接可⻅。
 POST:数据被转成NSData(二进制数据),类似于密码的密⽂输入,⽆法直接读取。
 
 同步连接:程序容易出现卡死现象
 异步连接:等待数据返回。
 异步联接有两种实现⽅式:
     设置代理,接收数据
     实现block
 
 同步连接 **两个星号是取指针地址
 + (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse **)response error:(NSError **)error;
 
 异步连接(代理)
 设置 NSURLConnection 代理
 实现相应的代理⽅方法:开始响应接收数据、接收数据、成功、失败!
 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
 - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
 - (void)connectionDidFinishLoading:(NSURLConnection *)connection
 - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
 
 异步联接(block)
 + (void)sendAsynchronousRequest:(NSURLRequest *)request queue:(NSOperationQueue *)queue completionHandler:(void (^)(NSURLResponse * response, NSData * data, NSError * connectionError))handler
 
 NSURLResponse
 根据网络请求协议,封装了服务器返回数据的部分信息。服务器响应⺴络请求后,返回数据的部分信息及数据本⾝。
 expectedContentLength
 suggestedFilename
 MIMEType
 textEncodingName
 URL
 
 NSHTTPURLResponse
 NSURLResponse 的⼦类,封装有关HTTP协议的响应信息。存储了HTTP协议的响应头信息,状态码。
 allHeaderFields
 statusCode
 如果网络请求时使用 HTTP 协议,NSURLResponse 就是NSHTTPURLResponse
 
 三、服务器接口的简单介绍
 PHP 接口的简单实现⺴络请求⽅式分为:GET、POST,是由服务器的实现⽅式决定,分为:
 GET
 POST
 GET 或 POST
 
 服务器端 PHP 简单接⼝
 PHP 中使用不同的函数获取数据,⽀持不同的请求⽅式:
 GET 请求:使⽤ $_GET[“key"] 获取数据⺴址中的数据
 POST 请求:使⽤ $_POST[“key"] 获取上传 data 中的数据
 GET、POST 请求:使⽤ $_REQUEST[“key"] 获取数据
 
 完成与 PHP 接⼝的交互
 在 iOS 平台使⽤ NSURL、NSURLRequest等对象完成与接⼝的交互
 
 总结
 GET、 POST是请求方式
 同步、异步是连接方式
 ⺴络请求的步骤:
 1、NSURL;
 2、NSURLRequest;
 3、NSURLConnection;
 4、处理Error 或者返回数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值