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网络编程与云端应用-最佳实践》

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

  1. 【读书笔记】iOS网络-Web Service协议与风格

    协议指的是在与其它系统交换结构化信息时所要遵循的一套格式,过程与规则.此外,协议定义了在传输过程中所要使用的数据格式.这样,接收系统就能正确地解释结构化信息并做出正应的回应. 1,简单对象访问协议. ...

  2. 基于Web Service的客户端框架搭建四:终结篇

    前言 这是这个系列的终结篇,前面3个博客介绍了一下内容: 1.使用Http Post方式调用Web Service 2.客户端框架之数据转换层 3.客户端框架之代理层 框架结构 框架是基于C#的,在V ...

  3. 基于Web Service的客户端框架搭建一:C#使用Http Post方式传递Json数据字符串调用Web Service

    引言 前段时间一直在做一个ERP系统,随着系统功能的完善,客户端(CS模式)变得越来越臃肿.现在想将业务逻辑层以下部分和界面层分离,使用Web Service来做.由于C#中通过直接添加引用的方来调用 ...

  4. 基于Web Service的客户端框架搭建二:数据转换层(FCL)

    引言 要使用WebService来分离客户端与服务端,必定要使用约定好两者之间的数据契约.Json数据以其完全独立于语言的优势,成为开发者的首选.C# JavaScriptSerializer为Jso ...

  5. 基于Web Service的客户端框架搭建三:代理层(Proxy)

    前言 代理层的主要工作是调用Web Service,将在FCL层序列化好的Json数据字符串Post到Web Service,然后获得Reponse,再从响应流中读取到调用结果Json字符串,在Dis ...

  6. SOAP: java+xfire(web service) + php客户端

    作者: 吴俊杰 web service这项技术暂不说它有多落伍,但是项目中用到了,没法逃避!    xml和json各有各的好处,但是JSON无疑是当今数据交互的主流了.客户soap服务器端用的是 j ...

  7. PHP笔记-PHP中Web Service.

    这几天工作需要.net站点免登陆访问PHP的Wiki站点. PHP不熟,感觉很苦逼.任务下来了,必须搞定.准备用SSO,太麻烦了,要改写别人很多代码,这个是第三方CMS,封装的很厉害,不好改.最后我的 ...

  8. 【读书笔记】HTML5 Web存储

    PS:这里讲web存储,主要是在客户端存储的一些技术:cookie,localstorage,sessionstorage,WebSQL.     Cookie   Cookie是HTML4中在客户端 ...

  9. Node.js高级编程读书笔记 - 4 构建Web应用程序

    Outline 5 构建Web应用程序 5.1 构建和使用HTTP中间件 5.2 用Express.js创建Web应用程序 5.3 使用Socket.IO创建通用的实时Web应用程序 5 构建Web应 ...

随机推荐

  1. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要二

    今天继续分享我的阅读<LEARNING HARD C#学习笔记>知识点总结与摘要二,仍然是基础知识,但可温故而知新. 七.面向对象 三大基本特性: 封装:把客观事物封装成类,并隐藏类的内部 ...

  2. SQL Server时间粒度系列----第2节日期、周时间粒度详解

    本文目录列表: 1.从MySQL提供的TO_DAYS和FROM_DAYS这对函数说起2.SQL Server日期时间粒度3.SQL Server周有关时间粒度 4.总结语 5.参考清单列表   从My ...

  3. JS的toFixed方法设置小数点位数后再进行计算,数据出错问题

    这个应该算作失真,或者也不算.情况就是用了toFixed后再进行相关计算,得不到预期的结果 具体看例子 比如想动态计算百分比,保留一位小数如94.4%这样子 var blobTo = 409600; ...

  4. JavaScript DOM学习总结(二)

    获取和设置属性 DOM实在是个好东西,掌握了它我们不仅可以在JavaScript中使用,其它程序语言我们同样可以使用. 接下来就一起使用DOM来干些实事吧! 1.getAttribute getAtt ...

  5. 【UWP】FlipView绑定ItemsSource,Selectedindex的问题

    最近在做列表头部的Carousel展示,Carousel使用的是FlipView展示,另外使用ListBox显示当前页,如下图 我们先设置一个绑定的数据源 public class GlobalRes ...

  6. 【iOS】desctiption和debugDescription

    一.简介 与.NET一样,在.NET上得Object对象有个ToString()方法可以用于输出对象的信息,在iOS上的NSObject也有一个方法,为description,该方法返回objc对象的 ...

  7. 聊一下C#开发者如何过渡到JAVA 开发者

    由于工作需要,最近也开始倒腾Java了.NET的话,从2012年测试版开始玩的,那个时候VB6比较熟悉,还天真的以为VB.NET以后会很火, 事实证明,也只是一厢情愿,有C#了,要VB.NET干什么? ...

  8. WITH RECURSIVE and MySQL

    WITH RECURSIVE and MySQL If you have been using certain DBMSs, or reading recent versions of the SQL ...

  9. Oracle数据库,内置函数小结

    1.聚合函数 count(字段) // 求非空行的数量 max(字段) // 获取最大值 sum(字段) //求和 avg(字段) // 平均值 min(字段) // 最小值 2.转换函数 to_da ...

  10. No.018:4Sum

    问题: Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = ...