Restful 一直都在听,一直都在用,但就是搞不懂什么是restful,因为说不出个所以然出来。
为什么说一直都在用呢,我们随便打开一个大型网站的网址,基本都是 restful 风格的 。比如:http://www.imooc.com/course/programdetail/pid/31
restful有什么用呢?
使用web标准来做一个准则和约束。
RESTful的基本概念 1.在REST中,一切的内容都被认为是一种资源 2.每个资源都由URI唯一标识 3.使用统一的接口处理资源请求(POST/GET/PUT/DELETE/HEAD) 4.无状态
资源和URI 1. 使用 【 / 】 表示资源的层级关系 2.?过滤资源 3.使用_或者-让URI的可读性更好
看一个restful 的例子: https://github.com/justjavac/free-programming-books-zh_CN 这就用上了 第三点 让URI的可读性变得更好了。
因为以前有的网站的url 地址看起来很长,还有的有一堆符号,看起来就很乱的样子。
同时 restful 是建立 在 HTTP 协议 的基础之上的,所以,restful 有一个特点 也是 无状态的。
即 多次 请求直接 互不影响。
RESTful的最佳设计
1.域名 http://api.gupaoedu.com http://api/gupaoedu.com/api
2.版本 http://api.gupaoedu.com/v1/user/1
header里面维护版本 3.路径 http://api.gupaoedu.com/v1/users_list //获取用户列表
http://api.gupaoedu.com/v1/goods-list //商品列表
http://api.gupaoedu.com/v1/users/{id} 4.过滤信息 https://api.github.com/user/repos?page=2&per_page=100 https://developer.github.com/v3/#rate-limiting 5. 状态码
业务状态码 http状态码