Rest和Restful & http

Posted sen-c7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rest和Restful & http相关的知识,希望对你有一定的参考价值。

Rest :Representational State Transfer 表述性状态转移

Restful: Rest+ful形容词,遵循Rest原则的应用程序或设计

Rest原则:

1. 网络上的所有事物都被抽象为资源

2. 每个资源都有一个唯一的资源标识符(URI)且对资源的各种操作不会改变资源标识符

3. 同一个资源具有多种表现形式(xml,json等)

4. 所有的操作都是无状态的,服务器端不应保存过多上下文状态,即每个请求都是独立的

5. 使用HTTP动词:GET POST PUT DELETE进行操作

RESTFul架构:实现上述原则的架构。优点:

1. 互联网环境下,任何应用的架构和API可以被快速理解;

2. 分布式环境下,任何请求都可以被发送到任意服务器;

3. 异构环境下,任何资源的访问和使用方式都统一; 

在Restful之前的http操作:
http://127.0.0.1/user/query/1 GET  根据用户id查询用户数据
http://127.0.0.1/user/save POST 新增用户
http://127.0.0.1/user/update POST 修改用户信息
http://127.0.0.1/user/delete GET/POST 删除用户信息

RESTful用法:
http://127.0.0.1/user/1 GET  根据用户id查询用户数据
http://127.0.0.1/user  POST 新增用户
http://127.0.0.1/user  PUT 修改用户信息
http://127.0.0.1/user  DELETE 删除用户信息

前者的选择基本符合简单的用GET、复杂对象用POST;但在REST里,GET对应的是查询一个资源,而POST对应的是新增一个资源,意义是决然不同的。

Restful一些实现细则:

1. 使用HTTP动词表示增删改查资源, GET:查询,POST:新增,PUT:更新,DELETE:删除

2. 返回结果为JSON格式

3. 返回HTTP状态码200成功,4**代码或权限有问题,5**服务器有问题,具体待补充。。。

 









以上是关于Rest和Restful & http的主要内容,如果未能解决你的问题,请参考以下文章

06-Flask之REST&API设计

REST,以及RESTful的讲解

Restful levels&HATEOAS

RESTful level & HATEOAS

REST和RESTFUL

架构之:REST和RESTful