一、HTTP协议的概念。
1、HTTP协议:Hyper Text Transfer Protocol(超文本传输协议)是用于万维网服务器传送超文本到本地浏览器的传输协议,HTTP是一个应用层协议,由请求和相应构成,是一个标准的客户端服务器模型。
2、(万维网:
WWW是
环球信息网的缩写,(亦作“Web”、“WWW”、“'W3'”,
英文全称为“World Wide Web”),中文名字为“
万维网”,"环球网"等,常简称为Web。 分为Web
客户端和Web服务器程序。 WWW可以让Web
客户端(常用
浏览器)访问浏览Web
服务器上的页面。 是一个由许多互相链接的
超文本组成的系统,通过
互联网访问。在这个系统中,每个有用的事物,称为一样“资源”;并且由一个全局“
统一资源标识符”(
URI)标识;这些资源通过
超文本传输协议(Hypertext Transfer Protocol)传送给用户,而后者通过点击链接来获得资源。
万维网联盟(
英语:World Wide Web Consortium,简称W3C),又称W3C理事会。1994年10月在
麻省理工学院(MIT)计算机科学实验室成立。万维网联盟的创建者是万维网的发明者蒂姆·伯纳斯-李。
万维网并不等同
互联网,万维网只是互联网所能提供的服务其中之一,是靠着互联网运行的一项服务。
)
3、了解C/S模式:
Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;server程序的任务是接受客户程序(Client)提出的服务请求,进行相应的处理,再将结果返回给客户程序(Client);
二、iOS平台如何实现HTTP协议请求。
1、网络请求地址对象NSURL的作用及其用法:
1)url:统一资源定位符,也成为网址,因特网上彼岸准的资源网址
2)一个典型的url:
http://lily:123456@www.google.com/search? hl=en&source=hp&q=mysql&aq=f&oq=&aqi=g10#page
3)url的符语法:协议://授权/路径?查询(参数)
4)协议:
ftp://(文件传输协议)
http://(超文本传输协议)
https://(安全超文本传输协议)
file://(本地文件协议)
5) 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
host: www.google.com
user: lily
password: 123456
port: 8080
query: hl=en&source=hp&q=mysql&aq=f&oq=&aqi=g10
2、网络请求对象NSURLRequest、NSMutableURLRequest的作用及用法
1>请求方式:
A.GET
B.POST
2>两种请求方式比较:
相同点:都能给服务器传输数据
不同点:
1)给服务器传输数据的方式:
GET:通过网址字符串
POST:通过data
2)传输数据大小:
GET:网址字符串最多255字节
POST:使用NSData,容量超过1G
3)安全性:
GET:所有传输给服务器的额数据,显示在网址里,类似密码的铭文输入,直接可见
POSTL数据被转化成NSData(二进制数据),类似密码的密文出入,无法直接读取
3、网络连接对象NSURLConnection的作用及其用法:
1)同步连接:程序容易出现卡死现象
+ (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse **)response error:(NSError **)error;
2)异步连接:等待数据返回
3)异步链接的两种实现方式:
1】设置代理,接收数据
设置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
2】实现block
+ (void)sendAsynchronousRequest:(NSURLRequest*)request queue:(NSOperationQueue*)queue
completionHandler:(
void (^)(NSURLResponse*
response,
NSData* data, NSError*
connectionError))handler
connectionError))handler
4、网络连接协议NSURLContactionDelegate的作用及其用法:
5、网络请求数据信息NSURLResponse的作用及其用法:
1)NSURLResponse:
根据⺴⽹网络请求协议,封装了服务器返回数据的部分信息。服务器响应⺴⽹网络请求后,返回数据的部分信息及数据本⾝。
expectedContentLength //数据大小
suggestedFilename // 显示文件名
MIMEType//
(MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。)
textEncodingName//文件编码名称
URL // 网址
2)NSHTTPURLResponse:
1】NSURLResponse的子类,封装有关HTTP协议的响应信息。存储了HTTP协议的响应头信息,状态码。
allHeaderFields
statusCode
2】如果网络请求时使用HTTP协议,NSURLResponse就是NSHTTPURLResponse;
三、服务器接口的简单介绍。
1、PHP接口的简单实现
网络请求⽅方式分为:GET、POST,是由服务器的实现⽅方式决定,分 为:
GET
POST
GET或POST
2、服务器端PHP简单接口:
PHP中使⽤用不同的函数获取数据,支持不同的请求⽅方式:
GET请求:使⽤用$_GET[“key"] 获取数据网址中的数据
POST请求:使⽤$_POST[“key"] 获取上传data中的数据
GET、POST请求:使⽤$_REQUEST[“key"] 获取数据
总结:
GET请求⽅方式、POST是请求⽅方式
同步、异步是连接⽅方式
网络请求的步骤:
1、NSURL;
2、NSURLRequest;
3、 NSURLConnection;
同步、异步是连接⽅方式
网络请求的步骤:
1、NSURL;
2、NSURLRequest;
3、 NSURLConnection;
4、处理Error或者返回数据
(辛苦手敲,转载请注明出处!)