20160819关于使用REST服务

前几天,我在面试中被问到REST的服务,可惜对这方面知之甚少,今天介绍一下REST,这个是个什么东西。

首先要推荐一下这篇计数博客,写的挺详细

http://www.cnblogs.com/loveis715/p/4669091.html

有段文字描述REST

Representational State Transfer (REST) is asoftware architecture style consisting of guidelines and best practices forcreating scalable web services. REST is a coordinated set of constraintsapplied to the design of components in a distributed hypermedia system that canlead to a more performant and maintainable architecture.

REST是一种Web的组织架构,下面内容进一步解释。

W3C确定了两类主要的Web服务,一是REST服务,就是使用一套统一的无状态操作来处理Web资源。另一种是SOAP,WSDL(Web服务描述语言)。

REST式服务器有几个特点,无状态性,统一资源定位和可缓存性。

无状态性:在一个REST系统中,服务端并不会保存有关客户的任何状态。也就是说,客户端自身负责用户状态的维持,并在每次发送请求时都需要提供足够的信息。每次API调用都被视作新的请求,服务器不会记录客户端的上下文。

统一资源的定位:REST不使用资源的ID来作为参数,而是将它作为URL的一部分。

可缓存性REST系统需要能够恰当地缓存请求,以尽量减少服务端和客户端之间的信息传输,以提高性能。

REST式服务的响应通常以一种统一的、双方一致的格式返回给客户端,一般是XML和JSON,IOS大部分是JSON,这个方式简单方便。JSON解析有几个比较有名的框架,我用过的是JSONKit,除此之外还有SBJSON,TouchJSON,YAJL。有段文字这样写到,如果打算在64位架构上,不建议使用JSONKit。JSONKit在访问对象的isa指针,而不是objc_getClass,isa在64位运行是环境中是标签指针(这个翻译不是很理解?),所以建议使用NSJSONSerialization。

以上内容只是了解一下REST,IOS开发重要的点应该在如何更高效的与服务器的交互,提高应用的性能。

缓存有两种方式,一种是按需要缓存,另一种是预缓存。

按需缓存:是指把服务器的内容以某种格式放在本地的文件系统的中,之后对于每次的请求,检查本地是否有相应的数据,是否过期,在决定是否访问服务器重新获取数据。

预缓存:把内容放在本地以备将来访问。持久化可以参考20160816关于ios中的持久化这篇文章。


本文

       完。



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值