博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
认识RESTful
阅读量:6816 次
发布时间:2019-06-26

本文共 1099 字,大约阅读时间需要 3 分钟。

REST,是Roy Thomas Fielding博士于2000年在他的博士论文中提出来的一种万维网软件架构风格。

什么是RESTful

REST的全称是Representational State Transfer,中文含义为表现层状态变化。符合REST规范的设计,都可以称为RESTful设计。

RESTful的设计哲学

RESTful的设计哲学主要将服务器提供的内容实体看作一个资源,并表现在URL上。

所谓"资源",就是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。

比如:

/users/leeper

这个地址代表一个资源,对这个资源的操作,主要体现在HTTP请求的方法上,不是体现在URL上。

例如,对用户的增删查改可能是这样设计URL的:

POST  /user/add?username=leeperGET   /user/remove?username=leeperPOST  /user/update?username=leeperGET   /user/get?username=leeper

主要使用的请求方法是POST和GET,操作行为主要体现在URL上。

在RESTful设计中,它是这样的:

POST     /user/leeperDELETE   /user/leeperPUT      /user/leeperGET      /user/leeper

对于资源的具体表现形态,不再表现在URL上了。

特点

来自维基百科:

  • 资源是由URI来指定
  • 对资源的操作包括获取、创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法
  • 通过操作资源的表现形式来操作资源
  • 资源的表现形式则是XML或者HTML,取决于读者是机器还是人,是消费web服务的客户软件还是web浏览器。当然也可以是任何其他的格式

优点

来自维基百科:

  • 可更高效利用缓存来提高响应速度
  • 通讯本身的无状态性可以让不同的服务器的处理一系列请求中的不同请求,提高服务器的扩展性
  • 浏览器即可作为客户端,简化软件需求
  • 相对于其他叠加在HTTP协议之上的机制,REST的软件依赖性更小
  • 不需要额外的资源发现机制
  • 在软件技术演进中的长期的兼容性更好

误区

  • 避免URI包含动词
  • 避免在URI中加入版本号

总结

  • 每一个URI代表一种资源
  • 客户端和服务器之间,传递这种资源的某种表现层
  • 客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"

参考:

  • 朴灵-《深入浅出Node.js》

转载地址:http://epdzl.baihongyu.com/

你可能感兴趣的文章
Postman的Post请求方式的四种类型的数据
查看>>
Android事件分发机制初探
查看>>
CF1030E Vasya and Good Sequences
查看>>
jzoj5683. 【GDSOI2018模拟4.22】Prime (Min_25筛+拉格朗日插值+主席树)
查看>>
洛谷P1850 换教室(概率dp)
查看>>
ASP.NET拾遗 - Health Monitoring
查看>>
Handler
查看>>
移动端APP meta标签
查看>>
使用webpack 进行ES6开发
查看>>
VS 断点不会命中的情况
查看>>
通用类 Js 显示消息提示对话框,不输出页面内容,并返回上一页
查看>>
格式化字符串
查看>>
Oracle通过SQL语句查看table所引用的对象(View/Function/Procedure/Trigger)
查看>>
jenkins权限配置不对导致jenkins无法登陆
查看>>
java 向上转型与向下转型
查看>>
4.11搭建网站的两个小问题
查看>>
Java知多少(44)异常类型
查看>>
什么是Servlet?它有哪些特点
查看>>
BZOJ 1497 [NOI2006]最大获利
查看>>
深入浅出KNN算法(二) sklearn KNN实践
查看>>