【读书笔记】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应 ...
随机推荐
- SQL Server时间粒度系列----第1节时间粒度概述
本文目录列表: 1.什么是时间粒度?2.SQL Server提供的时间粒度3.SQL Server时间粒度代码演示 4.SQL Server基准日期 5.总结语6.参考清单列表 什么是时间粒度 ...
- ES6笔记(4)-- Symbol类型
系列文章 -- ES6笔记系列 Symbol是什么?中文意思是标志.记号,顾名思义,它可以用了做记号. 是的,它是一种标记的方法,被ES6引入作为一种新的数据类型,表示独一无二的值. 由此,JS的数据 ...
- SQL约束
SQL约束: 非空约束:就是不能为null: 主键约束(PK):唯一,不重复,并且不为空: 唯一约束:唯一,允许为空,但只能出现一次: 默认约束:如果不给值,默认值: 检查约束:范围以及格式限制: 外 ...
- ASP.NET Core 1.0到底是什么?
ASP.NET Core1.0 是微软的下一代ASP.NET框架.我们将ASP.NET升级到最新版本我们会发现最高级的版本是ASP.NET 4.6对应的FrameWork版本是4.6.1. 那么很多人 ...
- C#解压缩文件
代码: #region 解压 /// <summary> /// 解压 /// </summary> public void UnZip(string zipPath, str ...
- JS通过身份证号码获取出生年月日
这里我们讲述一下关于jq根据身份证号码计算出生日期.年龄.性别,有需要的同学可参考一下. 代码如下 复制代码 //获取输入身份证号码 var UUserCard = $("#UUser ...
- qt 自动产生 Guid 方法
strcpy(cmd->uid,QUuid::createUuid().toString().toStdString().c_str());
- webapi+entityframework分享
1. webapi允许跨域的增删改查要在web.config中加入以下文字 <system.webServer> <validation validateIntegratedMode ...
- 不用插件 让Firefox 支持网页翻译
1.进入http://labs.microsofttranslator.com/bookmarklet/ 2.在语言选择框的下拉列表中选择“简体中文” 3.右键点击“翻译”按钮,选择“将此链接加为书签 ...
- 2016暑假多校联合---To My Girlfriend
2016暑假多校联合---To My Girlfriend Problem Description Dear Guo I never forget the moment I met with you. ...