【读书笔记】iOS-使用Web Service-基于客户端服务器结构的网络通信(一)

时间:2023-12-29 23:24:50

Web Service技术是一种通过Web协议提供服务,保证不同平台的应用服务可以互操作,为客户端程序提供不同的服务。

目前3种主流的Web Service实现方案用:REST,SOAP和XML-RPC.XML-RPC和SOAP都是比较复杂的技术,XML-PRC是SOAP的前身。

一,REST Web Service.

REST被翻译为“表征状态转移”,听起来很抽象,“表征”是客户端看到的页面,页面的跳转就是状态的转移,客户端通过请求URL获得要显示的页面。REST通常是基于HTTP,URI和XML以及HTML等这些现有的协议和标准。

1,HTTP和HTTPS协议。

Web Servie应用层采用的是HTTP和HTTPS等传输协议。

1)HTTP协议。

HTTP是超文本传输协议。是一个属于应用层的面向对象协议,由于其简捷,快速的方式,适用于分布式超文本信息的传输。它于1990年提出,经过几年的使用与发展,不断地完善和扩展。HTTP协议支持客户端服务器网络结构。是无连接协议,即将每一次请求时建立连接,服务器处理完客户端的请求后,就答给客户端然后断开连接,不会一直占用网络资源。

GET方法是向指定的资源发出请求,发送的信息显示 在URL后面,使用GET方法应改只用在读数据,例如静态图片等数据。GET方法像是使用明信片给别人写信,“信内容”写在外面,接触到的人都可以看到,因此不安全。

POST方法是向指定的资源提交数据,请求服务器进行处理。例如:提交表但或者上伟文件等。数据被包含在请求体中。POST方法有点像是把“信内容”装入到信封中给别人写信,接触到的人都看不到,因此是安全的。

2)HTTPS协议

HTTPS是安全超文本传输协议。是超文本传输协议和SSL的组合,提供加密通信及对网络服务器身份的鉴定。

2,同步GET方法请求编程

3,异步GET方法请求编程。

4,POST方法请求编程。

5,实例:REST Web Servie实现的MyNotes应用。

采用的HTTP方法请求方法,建议使用POST方法,这是因为GET请求静态资源,数据传输过程也不安全,而POST主要请求动态资源,这些方法调用都需要传递很多参数。

在viewWillAppear:方法中实现查询调用会增加网络请求次数,对于大量数据返回情况下,画面出现会比较慢。

二,SOAP Web Service

1,WSDL概念。

WSDL是为描述Web Service发布的XML格式。

WDSL是一种XML Schema文档,作用是定义XML文档结构,类似DTD.如果把XML文档理解成数据库,那么XML Schema就是定义数据库结构的create,drop和alter语句。

2,SOAP协议。

3,实例:SOAP Web Service实现My Notes应用。

常用的有:test/plain代表纯文本,text/html代表HTML文档,application/pdf代表PDF文档,application/msword是Microsoft Word文件,而SOAP中的有点特殊application/soap+xml;charset=utf-8代表XML的SOAP格式文档,后面的charset=uft-8是指文档的字符集。

三,ASIHTTPRequest框架的使用。

ASIHTTPRequest框架的优点:

1,支持下载数据放在内存或本地文件。

2,容易访问请求和应答HTTP header.

3,支持Cookie;

4,支持GZIP请求或应答;

5,支持缓存。

6,支持同步或异步请求。

7,支持HTTPS。

参考资料:《iOS网络编程与云端应用-最佳实践》