REST式的服务最重要的三个特征就是**无状态性**(statelessness)、**统一资源定位**(uniform resource identification)和**可缓存性**(cacheability)。

REST式服务总是无状态的。每次API调用都被视作新的请求,服务器并不会记录客户端上下文。客户端需要维护服务器的状态,包括但不限于缓存服务器响应(response)和登录访问令牌(login access token)。

REST式服务的资源定位是通过URL实现的。REST不使用资源ID作为参数,而是将它作为URL的一部分。例如,http://example.com/resource?id=1234REST服务中就变成了http://example.com/resources/1234。

REST式服务使用这种方式进行资源定位,而且也不维护客户端状态,这就使客户端可以根据URL缓存响应,就像浏览器缓存网页一样。

REST式服务的响应通常以一种统一的、双方一致同意的格式返回给客户端,这样可以更好地对客户端接口和服务器接口进行解耦。客户端的iOS应用使用双方一致同意的数据交换格式与RESTful服务器进行通信。到目前为止,最常用的格式是XML和JSON。下一节会讨论这些格式之间的区别,以及在应用中解析这些格式的方法。

目前不太懂。

iOS的REST服务-备的更多相关文章

  1. IOS框架和服务

    在iOS中框架是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的头文件,以及图像.声音文件等其他资源.共享资源库定义应用程序可以调用的函数和方法. iOS为应用程序开发提供了许多可使用的框架 ...

  2. iOS推送服务细节回顾

    iOS推送服务细节回顾 之前在做推送功能时候,就总结过一系列证书的制作,OC代码实现和服务器搭建等经验.又过了一段时间了,前前后后对推送服务做了多次的完善和优化,有iOS客户端的,还有本地服务器端的. ...

  3. iOS 客户端与服务端做时间同步

    需求 我们做客户端的时候,有时会需要对客户端与服务器的时间进行同步,比如抢购活动.倒计时等.这时我们要考虑如何准备地与服务器的时间进行同步,同时防止用户本地的时间有误差时导致的问题. 分析 描述 为了 ...

  4. IOS调用WCF服务,WCF服务器进行上传图片

    1.IOS端采用post方式请求服务器端的url地址 如:http://192.168.0.12:50000/serverce1.svc/upload IOS端的代码采用base64位编码的方式传值给 ...

  5. 简易的IOS位置定位服务

    有时一些小的需求,其实只是需要得知当前IOS APP使用的地点,有些只是想精确到城市级别,并不需要任何地图. 有了以下的简易实现: @interface MainViewController ()&l ...

  6. iOS系统声音服务(System Sound Services)

    系统声音服务(System Sound Services)提供了一个接口,用于播放不超过30秒的声音.它支持的文件格式有限,具体地说只有CAF.AIF和使用PCM或IMA/ADPCM数据的WAV文件. ...

  7. ios推送服务,php服务端

    本文转载至http://my.oschina.net/AStar/blog/176531   生成证书 证书生成参考:https://parse.com/tutorials/ios-push-noti ...

  8. iOS 后台传输服务

    后台传输服务 — 我们用水壶来比喻 (0:14) 后天传输服务是 iOS 7 引进的 API,它准许应用暂停或者中止之后,在后台继续执行网络服务(比如下载或者上传).举个例子,这正是 Dropbox ...

  9. iOS WebServiceFramework网络服务框架浅解

    网络服务几乎是每一款成功APP的必备条件,打开你手机你会发现里面不用联网的应用数量十只手指可以数出来,就算是一些以独特技术切入市场的APP如美颜相机,都至少加入了分享功能.下面我先做下简单的回顾兼扫盲 ...

随机推荐

  1. tessilstrona

    Untitled Document

  2. 由浅入深吃透MVC框架,驯服烂代码

    MVC 已经成为客户端的主流编程框架,相信客户端工程师对它并不陌生,甚至在开发过程中,不通过思考都会自动使用 MVC 框架编程.但在工作过程中,发现许多小伙伴也只是使用 MVC,对于为什么这样使用并不 ...

  3. Beautiful Numbers

    http://codeforces.com/problemset/problem/300/C 题意:给你三个数a,b,n;求满足由a,b组成的n位的个数,且每个位置上的数之和也是用a,b组成; 解析: ...

  4. 遍历Map的几种方法

    public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...

  5. mybatis 关联对象mapper.xml的写法

    https://github.com/zfrHJ/mybaties/blob/master/mybaties/src/com/itheima/mybatits/mapper/OrdersMapperC ...

  6. 使用国人的koala来重新预编译BOOTSTRAP的LESS文件

    好玩...

  7. PHP开发安全之近墨者浅谈(转)

    ==过滤输入/输出转义 过滤是Web应用安全的基础.它是你验证数据合法性的过程.通过在输入时确认对所有的数据进行过滤,你可以避免被污染(未过滤)数据在你的程序中被误信及误用.大多数流行的PHP应用的漏 ...

  8. codevs3008加工生产调度(Johnson算法)

    #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> us ...

  9. angular.bind

    angular.bind :Returns a function which calls function fn bound to self (self becomes the this for fn ...

  10. Linq101-Quantifiers

    using System; using System.Collections.Generic; using System.Linq; namespace Linq101 { class Quantif ...