什么是RESTRUL?
起源
REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的

 

Rest与技术无关,代表的额是一种架构风格,(REST是Representational State Transfer的简称)我对这个词组的翻译是“表现成状态转换”
如果一个架构符合REST原则,就称它为RESTful架构。

Rest_from 封装了django,给Django加上了一些特征,符合这些特征的就是rest_from ,也就是符合rest_from 就是django , 具备固定的条件就是rest_from


三、 资源 :
所谓资源,就是网络上的一个实体,或者说是网络上的有一个具体信息,他可以是text,MP3,MP4,jpg,总之就是一个具体的实在,你可以用一个url来指向它,每种资源对应一个特定的url,要获取这个资源,只需要访问它的url就行了,因此url成为了每一个资源或者独一无二的识别符,所谓上网,就是鱼互联网上一系列的西元互动,调用它的url
4 、 表现层:
资源是一种信息实体,它可以有很多外在表现形式,我们把资源具体呈现出来的形式,叫做他的表现层
比如: 文本可以用text形式表现,也可以用html形式,xml形式,json形式表现

5 、 状态转换:
互联网通信协议http协议,是一个无状态协议,这意味着,所有的状态都保存在服务器端,因此,如果客户端想要操作服务器,必须通过某种手段,让服务端发生状态改变,而这种转换是建立在表现层之上的,所以就是表现层状态转换
客户端用到的手段。只能是http协议,具体来说,就是http协议里面,四个表示操作方式的动词,
GET 用于获取资源,POST用于建立资源(也可以用于更新资源),PUT用于更新资源,DELETE用于删除资源

6 总结:


综合上面的解释,我们总结一下什么是restful框架:
(较白话版)
1必须是http协议
2域名,同样的api必须放在一个域下面
3 版本,第几个版本写v几,域名后面加斜杆v在加版本号
4资源,url里面不能出现动词,必须是名词, 动词指的是操作:get,post,delete,update,等等,而名词是自己取得变量名,如果完全符合rest_from 就不能有动词,
5过滤,分页,排序
6 状态码:
200 请求成功一般用于get和post请求,404 指的是不存在,500 是后端服务器内部错误,无法完成请求
301指的是永久重定向 , 302 指的是临时重定向,405 请求方式不正确,400:用户发出的请求有误,401:表示用户没有权限,403:表示用户得到授权,但是访问是禁止的


(专业来说)
每一个URL代表一种资源
    客户端和服务器之间,传递这种资源的某种表现层;
    客户端通过HTTP动词对服务器端资源进行操作,实现“表现层状态转化”