【读书笔记】iOS-使用Web Service-基于客户端服务器结构的网络通信(一)
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-基于客户端服务器结构的网络通信(一)的更多相关文章
- 【读书笔记】iOS网络-Web Service协议与风格
协议指的是在与其它系统交换结构化信息时所要遵循的一套格式,过程与规则.此外,协议定义了在传输过程中所要使用的数据格式.这样,接收系统就能正确地解释结构化信息并做出正应的回应. 1,简单对象访问协议. ...
- 基于Web Service的客户端框架搭建四:终结篇
前言 这是这个系列的终结篇,前面3个博客介绍了一下内容: 1.使用Http Post方式调用Web Service 2.客户端框架之数据转换层 3.客户端框架之代理层 框架结构 框架是基于C#的,在V ...
- 基于Web Service的客户端框架搭建一:C#使用Http Post方式传递Json数据字符串调用Web Service
引言 前段时间一直在做一个ERP系统,随着系统功能的完善,客户端(CS模式)变得越来越臃肿.现在想将业务逻辑层以下部分和界面层分离,使用Web Service来做.由于C#中通过直接添加引用的方来调用 ...
- 基于Web Service的客户端框架搭建二:数据转换层(FCL)
引言 要使用WebService来分离客户端与服务端,必定要使用约定好两者之间的数据契约.Json数据以其完全独立于语言的优势,成为开发者的首选.C# JavaScriptSerializer为Jso ...
- 基于Web Service的客户端框架搭建三:代理层(Proxy)
前言 代理层的主要工作是调用Web Service,将在FCL层序列化好的Json数据字符串Post到Web Service,然后获得Reponse,再从响应流中读取到调用结果Json字符串,在Dis ...
- SOAP: java+xfire(web service) + php客户端
作者: 吴俊杰 web service这项技术暂不说它有多落伍,但是项目中用到了,没法逃避! xml和json各有各的好处,但是JSON无疑是当今数据交互的主流了.客户soap服务器端用的是 j ...
- PHP笔记-PHP中Web Service.
这几天工作需要.net站点免登陆访问PHP的Wiki站点. PHP不熟,感觉很苦逼.任务下来了,必须搞定.准备用SSO,太麻烦了,要改写别人很多代码,这个是第三方CMS,封装的很厉害,不好改.最后我的 ...
- 【读书笔记】HTML5 Web存储
PS:这里讲web存储,主要是在客户端存储的一些技术:cookie,localstorage,sessionstorage,WebSQL. Cookie Cookie是HTML4中在客户端 ...
- Node.js高级编程读书笔记 - 4 构建Web应用程序
Outline 5 构建Web应用程序 5.1 构建和使用HTTP中间件 5.2 用Express.js创建Web应用程序 5.3 使用Socket.IO创建通用的实时Web应用程序 5 构建Web应 ...
随机推荐
- 搭建 Hexo Blog
一.教程参考:https://xuanwo.org/2015/03/26/hexo-intor/ 二.命令总结 1.node -v.npm -v:查看 node.js 是否安装成功 2.npm ins ...
- 常用的 SQL语句------CRUD
复习之前课本上的sql语句,以前上课的时候都是老师在上面讲,我们在下面玩,根本没有把这个放在心上,等到考试的时候临时学习突击下,就可以顺利过60了,但是现在不行了,自己要重新的学习sql,应该把里面最 ...
- 在MVC中使用async和await的说明
首先,在mvc中如果要用纯异步请不要使用async和await,可以直接使用Task.Run. 其次,在mvc中使用async和await可以让系统开新线程处理Task的代码,同时不必等Task执行结 ...
- C#系统缓存全解析(转载)
C#系统缓存全解析 对各种缓存的应用场景和方法做了很详尽的解读,这里推荐一下 转载地址:http://blog.csdn.net/wyxhd2008/article/details/8076105
- Focus
在尘世中沉浸得越久,越无法集中精力去做好一件事. 缺乏学习!
- spring,mybatis,多数据源配置
spring.xml配置 <!-- 对数据源进行事务管理 --> <bean id="transactionManager" class="org.sp ...
- 2016暑假多校联合---A Simple Chess
2016暑假多校联合---A Simple Chess Problem Description There is a n×m board, a chess want to go to the po ...
- 「Ionic」創建新項目
1.創建新項目 创建一个名为myApp的还有tabs的项目(ionic start <project-name> <optional-template>) 可选模板为sidem ...
- AngularJs学习第一课 Hello World
首先先介绍一下:AngularJS是干什么的. AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了 ...
- Java基础学习 -- Java(OOP)程序的设计原则
避免代码复制.解决方案:函数.父类: 封装.尽量private每个类的成员变量,用操作封装数据,减少类与类之间成员变量的直接调用,而是调用method,降低耦合: 可扩展性最大化.尽量使用框架+数据的 ...