码迷,mamicode.com
首页 > 其他好文 > 详细

[学习笔记] 理解RESTful架构 整理

时间:2017-12-16 11:03:03      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:流行   rom   表现层   nal   href   targe   论文   accept   体系   


文章学习来源:http://www.ruanyifeng.com/blog/2011/09/restful.html 阮一峰

 

网站即软件

  • 客户端/服务器模式
  • 建立在分布式体系上,通过互联网通信
  • 特点:高延时,高并发等

使用流行架构:RESTful。

一、起源:Fielding2000年博士论文

二、名称:REST=Representational State Transfer[表现层状态转化]

三、资源

  • 表现层=资源的表现层
  • 资源=网络实体:1段文本、1张图片等
  • URL(统一资源定位符)=指向资源,一对一代表实体位置

四、表现层

表现层=资源呈现的形式:文本-txt格式/json格式等,图片jpg格式/png格式等呈现

描述:HTTP请求头信息在Accept和Content-Type中指定

五、状态转化

访问:客户端&服务器互动过程中==>数据和状态的变化

  • 客户端通过手段让服务器发生状态变化

手段:HTTP协议

操作方式:

  • GET:获取资源
  • POST:新建资源/更新资源
  • PUT:更新资源
  • DELETE:删除资源

六、综述:

  • 每个url代表一种资源
  • 客户端和服务器之间传递该资源的某表现层(txt或png)
  • 客户端通过HTTP四个动词操作服务器端资源==>实现表现层状态转化

七、设计误区:

1、URI包含动词:

  • 资源表示实体应为名词
  • 动词应放在HTTP协议中
  • ex1:/posts/show/1 ==> /posts/1 || 用GET方法表示show
  • /*实例:账户1向账户2汇款500元*/
    // 错误
    POST /accounts/1/transfer/500/to/2
    //正确:将transfer改为名词transaction
    POST /transaction HTTP/1.1
    Host: 127.0.0.1
    
    from=1&to=2&amount=500.00

2、URI中有版本号

  • 因不同版本为同一资源的不同形式,所以采用同一URI
  • 版本号可通过HTTP请求头的Accept字段中区分
  • // 错误
    http://www.ex.com/app/1.0/foo
    http://www.ex.com/app/1.1/foo
    
    //正确(包含网址、格式形式、版本号)
    Accept: vnd.ex-com.foo+json;version=1.0
    Accept: vnd.ex-com.foo+json;version=1.1

[学习笔记] 理解RESTful架构 整理

标签:流行   rom   表现层   nal   href   targe   论文   accept   体系   

原文地址:http://www.cnblogs.com/haru-liu/p/8045319.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!