主页 >> 系统架构 > Rest介绍与Rest接口权限认证概要

2014/10/26 | 星期日 分类:系统架构 | 2 条评论 标签: | 作者: | 2,624 views

Rest介绍与Rest接口权限认证概要

What is REST? 什么是REST? REST(Representational State Transfer 表述性状态转移)是一种轻量级的Web Service架构.

REST主旨是让事情尽量的简单化:

  1. 使用HTTP里的方法:GET、POST、DELETE、PUT,而不需要使用URL或请求的内容来指定这个方法;
  2. 使用URL来指明你将要操作什么对象;.
  3. 使用HTTP状态码作为返回值;
  4. 调用产生的HTTP请求内容只是用于服务数据——不是用来指明调用方法,目标对象或返回值的;
  5. 使用REST方法来开发Web Service的关键点是利用HTTP协议的简单性,而不是去扩展这个协议;

Web Service调用最终应该是非常的简单而且非常的易于理解。

REST架构让人们真正理解我们的网络协议HTTP本来面貌,对资源的操作包括获取、创建、修改和删除资源的操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法,因此REST把HTTP对一个URL资源的操作限制在GET、POST、PUT和DELETE这四个之内。

这种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。

——————– 分割线 ——————–

既然REST宗旨主要是让事情简单化,那为啥还要做权限认证呢?

  • 想象一下支付接口,用户在购物网站上的每一个订单付款时调用支付宝接口、银行接口,就明白是啥问题啦?REST接口让事情尽量的简单,但也不能无限制开放给予调用,不然支付宝、银行系统早就瘫痪,或者被别有用心的搞瘫痪、宕机不能对外提供服务。.

因此就有了Rest接口权限认证。

REST接口地址,比如:
http://seedpaddy.com/rest/getBlogList?appkey={公钥}×tamp={时间戳}&signature={签名}

参数解释:
appkey               

  • 公钥,一般是默认是请求的 APPID ,唯一性:接口服务器提供方用来查询应用的私钥token

timestamp     

  • 当前时间戳,单位为秒(s),有效性:一般默认10分钟有效,当前请求10分钟内有效,支付宝,微信类接口时效性会更短。

signature      

  • 加密签名,signature结合了应用自动生成(或向开发者填写)的token参数和请求中的timestamp参数链接在一起做加密而成,用来鉴权。常规做法是:md5(token + timestamp) 或者 sh1(token + timestamp) 生成的加密串。.

token                 

  • 私钥,自动生成(或者开发者填写),32位无规则[a-z A-Z 0-9 ~-|]键盘上输入常用字符组合,申请应用的时候,自动生成(或者开发者填写)【此token注意保密,勿外泄,用来生成加密签名,做权限验证私钥】

接口服务器端:会根据请求的appkey,timestamp,signature 做判断,参数是否齐全,请求是否在有效时间内,signature 与服务器端的签名是否一致,来进行下一步操作,比如:获取接口数据,订单付款成功、更新订单状态等REST接口服务。

  • 2014年10月30日 11:42 | #1

    来访了,留个脚丫,支持下

    1. 本文目前尚无任何 trackbacks 和 pingbacks.