RESTful

REST全称是Representational State Transfer,中文意思是表述性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,是HTTP规范的主要编写者之一。 描述了一个架构样式的网络系统,比如 web 应用程序。值得注意的是REST并没有一个明确的标准,而更像是一种设计的风格。

REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。

Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。

RESTful架构是对MVC架构改进后所形成的一种架构,通过使用事先定义好的接口与不同的服务联系起来。在RESTful架构中,浏览器使用POST,DELETE,PUT和GET四种请求方式分别对指定的URL资源进行增删改查操作。因此,RESTful是通过URI实现对资源的管理及访问,具有扩展性强、结构清晰的特点。

虽然REST本身受Web技术的影响很深, 但是理论上REST架构风格并不是绑定在HTTP上,只不过目前HTTP是唯一与REST相关的实例。

GET,DELETE,PUT和POST常见状态码:

GET

• 200(OK) - 表示已在响应中发出
• 204(无内容) - 资源有空表示
• 301(Moved Permanently) - 资源的URI已被更新
• 303(See Other) - 其他(如,负载均衡)
• 304(not modified)- 资源未更改(缓存)
• 400 (bad request)- 指代坏请求(如,参数错误)
• 404 (not found)- 资源不存在
• 406 (not acceptable)- 服务端不支持所需表示
• 500 (internal server error)- 通用错误响应
• 503 (Service Unavailable)- 服务端当前无法处理请求

DELETE

• 200 (OK)- 资源已被删除
• 301 (Moved Permanently)- 资源的URI已更改
• 303 (See Other)- 其他,如负载均衡
• 400 (bad request)- 指代坏请求
• 404 (not found)- 资源不存在
• 409 (conflict)- 通用冲突
• 500 (internal server error)- 通用错误响应
• 503 (Service Unavailable)- 服务端当前无法处理请求

PUT

• 200 (OK)- 如果已存在资源被更改
• 201 (created)- 如果新资源被创建
• 301(Moved Permanently)- 资源的URI已更改
• 303 (See Other)- 其他(如,负载均衡)
• 400 (bad request)- 指代坏请求
• 404 (not found)- 资源不存在
• 406 (not acceptable)- 服务端不支持所需表示
• 409 (conflict)- 通用冲突
• 412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突)
• 415 (unsupported media type)- 接受到的表示不受支持
• 500 (internal server error)- 通用错误响应
• 503 (Service Unavailable)- 服务当前无法处理请求

POST

• 200(OK)- 如果现有资源已被更改
• 201(created)- 如果新资源被创建
• 202(accepted)- 已接受处理请求但尚未完成(异步处理)
• 301(Moved Permanently)- 资源的URI被更新
• 303(See Other)- 其他(如,负载均衡)
• 400(bad request)- 指代坏请求
• 404 (not found)- 资源不存在
• 406 (not acceptable)- 服务端不支持所需表示
• 409 (conflict)- 通用冲突
• 412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突)
• 415 (unsupported media type)- 接受到的表示不受支持
• 500 (internal server error)- 通用错误响应
• 503 (Service Unavailable)- 服务当前无法处理请求

幂等性

用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用
GET
• 安全且幂等
POST
• 不安全且不幂等
PUT
• 不安全但幂等
DELETE
• 不安全但幂等

I love coding but I don’t love life

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值