作者
zhanglinblog
责编
刘静
出品
CSDN博客
面试官:了解RESTful吗?
我:听说过。
面试官:那什么是RESTful?
我:就是用起来很规范,挺好的
面试官:是RESTful挺好的,还是自我感觉挺好的
我:都挺好的。
前言
回归正题,看过很多RESTful相关的文章总结,参齐不齐,结合工作中的使用,非常有必要归纳一下关于RESTful架构方式了,RESTful只是一种架构方式的约束,给出一种约定的标准,完全严格遵守RESTful标准并不是很多,也没有必要。但是在实际运用中,有RESTful标准可以参考,是十分有必要的。
实际上在工作中对api接口规范、命名规则、返回值、授权验证等进行一定的约束,一般的项目api只要易测试、足够安全、风格一致可读性强、没有歧义调用方便我觉得已经足够了,接口是给开发人员看的,也不是给普通用户去调用。
RESTful的来源
REST:RepresentationalStateTransfer(表象层状态转变),如果没听说过REST,你一定以为是rest这个单词,刚开始我也是这样认为的,后来发现是这三个单词的缩写,即使知道了这三个单词理解起来仍然非常晦涩难懂。如何理解RESTful架构,最好的办法就是深刻理解消化RepresentationalStateTransfer这三个单词到底意味着什么。
1.每一个URI代表一种资源;
2.客户端和服务器之间,传递这种资源的某种表现层;
3.客户端通过四个HTTP动词(get、post、put、delete),对服务器端资源进行操作,实现”表现层状态转化”。
是由美国计算机科学家RoyFielding(百度百科没有介绍,真是尴尬了)。Adobe首席科学家、Http协议的首要作者之一、Apache项目联合创始人。
RESTful6大原则
REST之父RoyFielding在论文中阐述REST架构的6大原则。
1.C-S架构
数据的存储在Server端,Client端只需使用就行。两端彻底分离的好处使client端代码的可移植性变强,Server端的拓展性变强。两端单独开发,互不干扰。
2.无状态