[NOTE] RESTful架构
[NOTE] RESTful架构
前言
是对RESTful架构的学习笔记
学习资料:
- 理解RESTful架构-阮一峰
- RESTful架构详解-菜鸟教程
正文
概念
REST
Representational State Transfer
表现层状态转化(表征性状态转移)
EST本身并没有创造新的技术、组件或服务,而隐藏在RESTful背后的理念就是使用Web的现有特征和能力,更好地使用现有Web标准中的一些准则和约束。虽然REST本身受Web技术的影响很深,但是理论上REST架构风格并不是绑定在HTTP上,只不过目前HTTP是唯一与REST相关的实例。所以我们这里描述的REST也是通过HTTP实现的REST。
- 资源
就是网络上的一个实体,或者说是网络上的一个具体信息(由URL指向) - 表现层
我们把"资源"具体呈现出来的形式,叫做它的"表现层"(如JPG/PNG) - 状态转化
如果客户端想要操作服务器,必须通过某种手段,让服务器端发生"状态转化"
具体指HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE
综述
- 每一个URI代表一种资源
- 客户端和服务器之间,传递这种资源的某种表现层
- 客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"
一些误区
- URL不应包含动词
如某个URI是/posts/show/1,其中show是动词,这个URI就设计错了
正确的写法应该是/posts/1,然后用GET方法表示show - URL不应包含版本号
就类似于URL不应暴露接口版本
应该使用同一URL,在HTTP请求头信息的Accept字段中进行版本区分
其他
所以关键应该是联系上四个HTTP方法的使用
GET、PUT、POST、DELETE
然后还有一些关于各操作是否幂等或是否安全的说法…
先这样吧,OFF
[NOTE] RESTful架构相关推荐
- [转] 理解RESTful架构
FROM:http://www.ruanyifeng.com/blog/2011/09/restful.html 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件 ...
- 理解RESTful架构
越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency).高 ...
- RESTful 架构基础
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来自:唐尤华 译自:https://dzone.com/refca ...
- 初识Restful架构
1.对Rest(Restful)的理解 理解RESTful架构 怎样用通俗的语言解释REST,以及RESTful 维基百科:Representational state transfer 2.Rest ...
- [转载] 理解RESTful架构
原文: http://www.ruanyifeng.com/blog/2011/09/restful.html 理解RESTful架构 作者: 阮一峰 日期: 2011年9月12日 越来越多的人开始意 ...
- RESTful架构风格
REST即Representational State Transfer的缩写,可译为"表现层状态转化".REST最大的几个特点为:资源.统一接口.URI和无状态. 资源 所谓&q ...
- 理解RESTful架构【转】
越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency).高 ...
- RESTful架构详解【转】
1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Roy Fielding的 ...
- RESTful 架构详解
1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Roy Fielding的 ...
最新文章
- 微软:97%电子邮件属于垃圾邮件
- 使用babel编译es6
- Google谷歌首席科学家:神经网络的奇妙特性与应用
- solr之schema.xml中文翻译
- Gym - 100851F Froggy Ford kruskal
- 你知道source map如何帮你定位源码么?
- sqlite事务模型、性能优化tips、常见误区
- Java校招笔试题-Java基础部分(三)
- 后台模板 开源_3个开源样板网页设计模板
- 海量数据挖掘MMDS week5: 计算广告Computational Advertising
- java beanutil 工具类_Apache Commons BeanUtils PropertyUtils工具类操作Java Bean属性
- Java 开发必看的 5个 Github 开源项目
- 这款开源神器,让你能在 iPad 上随心所欲写代码!
- 编译的html帮助文件(.chm)打不开,chm文件无法打开怎么办
- Unity网格编程篇(三) 温度图、热力图
- 计算机408考试题库百度云,2017年计算机408考研真题.pdf
- SQL Server 2008删除行出现错误“已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行”
- 七年北漂落幕-【文末送书】
- 启动计算机 gho文件,u盘里只有gho文件怎么重装win7系统图解
- maven 打包指定依赖包_maven打包为jar-with-dependencies无依赖jar包方法
热门文章
- Neo4j简单的样例
- swoole+redis(websocket聊天室demo)
- Lua 读表代码,自动生成字段名字
- User profile synchronization service starting issues 用户配置文件同步服务启动问题
- 无法加载登录用户界面DLL MyGina.dll 解决
- [Python图像处理] 四十二.Python图像锐化及边缘检测万字详解(Roberts、Prewitt、Sobel、Laplacian、Canny、LOG)
- [网络安全自学篇] 五十三.Windows系统安全之Metasploit实现栈溢出攻击及反弹shell原理解析
- Metal之简单渲染动态切换屏幕颜色
- 2019年第十届蓝桥杯 - 省赛 - C/C++大学C组 - B. 矩形切割
- TensorFlow模型持久化