网络编程详解(一)

一、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
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
 
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中的数据
GETPOST请求:使⽤$_REQUEST[“key"] 获取数据 
 
总结:
 
GET请求⽅方式、POST是请求⽅方式
同步、异步是连接⽅方式
网络请求的步骤:
1、NSURL;
2、NSURLRequest;
3、 NSURLConnection;
4、处理Error或者返回数据 
 
 (辛苦手敲,转载请注明出处!)
 
 
 

转载于:https://www.cnblogs.com/tig666666/articles/4833760.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值