中国教育和科研计算机网
EDU首页 |  中国教育 |   高校科技 |   教育信息化 |   CERNET
教育信息化

资讯 | 专题 会议 观点 专栏 访谈 企业 产品 CIO 技术 校园信息化 下一代互联网 IPv6视频课堂

中国教育网 > 教育信息化
您现在的位置: EDU首页 > 教育信息化 > 技  术
校园社交网络API设计方法
http://www.edu.cn   2014-06-30 中国教育网络 作者:仲玮 范轶 代成琴

字体选择:【大】 【中】 【小】

  API 出错处理

  REST 架构的一个基本要求是保证操作语义的可见性,因此应正确地将API 执行结果以及失败的原因以HTTP 状态代码的方式传达给客户程序,详细描述操作是否成功、如果出错原因是什么,并采取相应的后续动作。API 的错误码可以分为客户端错误和服务器端错误两部分。API应该至少将所有的客户端错误以json形式返回。如图2 所示。

  API 缓存处理

  A P I 的缓存处理是提高A P I 使用效率的重要措施。包括model查询结果缓存、U R L 页面缓存、类对象缓存等。最简单的方式可以采用HTTP 自带的缓存框架。HTTP 头中有“Cache-control”字段来控制如何使用缓存,常见的取值有 private、no-cache、max-age、must-revalidate 等。

  还有一种缓存方案,即通过支持条件请求与电子标签ETag 来处理缓存。当用户请求数据内容时,系统在返回数据的同时,在HTTP头中,将返回根据服务器内容的最后修改时间Last-Modified,或者根据服务器内容生成电子标签ETag。当用户再次请求数据时,就可以在HTTP 请求中使用If-Modified-Since 或者If-None-Match 头信息,把上次请求得到的时间戳或者电子标签传给服务器。当收到一个有条件请求的HTTP 头的REST 请求的时候,我们的程序需要将收到的时间戳或者电子标签与当前内容作比较,就可以很容易地知道用户请求的数据内容在这段时间是否发生过修改,并根据比较结果返回给用户最新内容,或者用HTTP 响应码304 告知用户,内容没有变化。

  RESTful API 的安全设计

  安全设计是API 设计中不可回避的一项工作,在这里我们使用OAuth 协议用于身份认证。校园社交网络的API 相当于授权外部应用访问社交网络站内资源,OAuth 协议正适用于此。OAuth 协议将与校园网已建设的统一身份认证系统相结合最终为面向最终用户维度的AP I 提供授权。对于身份认证之后的安全控制则主要通过应用控制,采用基于角色的方式来实现资源的访问授权。

  除了OAuth认证,还可以辅助使用其他的安全措施。比如对全部参数进行签名防止篡改;在请求中增加一次性的Token,或者短时间内有效的Token;对内容加密防止数据泄露等等。

  随着云计算和移动计算的兴起,许多企业愿意在互联网上共享自己的数据、功能,对于校园社交网络也是如此。开放API 是大势所趋,通过使用API,开发人员将可很方便地访问社交网络中的的海量内容,可以以编程的方式访问一个特定用户的信息,使得信息的传递存在了无限可能性。

  RESTFUL API 是校园社交网络系统的基础构架,因此在设计时需要从整个社交网络设计的高度进行思考。R E S T 把软件架构的概念与网络架构的概念相互结合起来,使得之成为可测量的分布式系统的理想状态, 提高了信息数据的处理能力和通讯效率。

  ( 作者单位为哈尔滨工业大学网络与信息中心)

 

页面功能 【打印】 【关闭】 【我有话说

MOOC风暴来袭

版权所有:中国教育和科研计算机网网络中心 CERNIC,CERNET,京ICP备15006448号-16,京网文[2017]10376-1180号

关于假冒中国教育网的声明 | 有任何问题与建议请联络:Webmaster@staff.cernet.com