[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协议里面,四个表示操作方式的动词:GETPOSTPUTDELETE

综述

  • 每一个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架构相关推荐

  1. [转] 理解RESTful架构

    FROM:http://www.ruanyifeng.com/blog/2011/09/restful.html 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件 ...

  2. 理解RESTful架构

    越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency).高 ...

  3. RESTful 架构基础

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来自:唐尤华 译自:https://dzone.com/refca ...

  4. 初识Restful架构

    1.对Rest(Restful)的理解 理解RESTful架构 怎样用通俗的语言解释REST,以及RESTful 维基百科:Representational state transfer 2.Rest ...

  5. [转载] 理解RESTful架构

    原文: http://www.ruanyifeng.com/blog/2011/09/restful.html 理解RESTful架构 作者: 阮一峰 日期: 2011年9月12日 越来越多的人开始意 ...

  6. RESTful架构风格

    REST即Representational State Transfer的缩写,可译为"表现层状态转化".REST最大的几个特点为:资源.统一接口.URI和无状态. 资源 所谓&q ...

  7. 理解RESTful架构【转】

    越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency).高 ...

  8. RESTful架构详解【转】

    1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Roy Fielding的 ...

  9. RESTful 架构详解

    1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Roy Fielding的 ...

最新文章

  1. 微软:97%电子邮件属于垃圾邮件
  2. 使用babel编译es6
  3. Google谷歌首席科学家:神经网络的奇妙特性与应用
  4. solr之schema.xml中文翻译
  5. Gym - 100851F Froggy Ford kruskal
  6. 你知道source map如何帮你定位源码么?
  7. sqlite事务模型、性能优化tips、常见误区
  8. Java校招笔试题-Java基础部分(三)
  9. 后台模板 开源_3个开源样板网页设计模板
  10. 海量数据挖掘MMDS week5: 计算广告Computational Advertising
  11. java beanutil 工具类_Apache Commons BeanUtils PropertyUtils工具类操作Java Bean属性
  12. Java 开发必看的 5个 Github 开源项目
  13. 这款开源神器,让你能在 iPad 上随心所欲写代码!
  14. 编译的html帮助文件(.chm)打不开,chm文件无法打开怎么办
  15. Unity网格编程篇(三) 温度图、热力图
  16. 计算机408考试题库百度云,2017年计算机408考研真题.pdf
  17. SQL Server 2008删除行出现错误“已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行”
  18. 七年北漂落幕-【文末送书】
  19. 启动计算机 gho文件,u盘里只有gho文件怎么重装win7系统图解
  20. maven 打包指定依赖包_maven打包为jar-with-dependencies无依赖jar包方法

热门文章

  1. Neo4j简单的样例
  2. swoole+redis(websocket聊天室demo)
  3. Lua 读表代码,自动生成字段名字
  4. User profile synchronization service starting issues 用户配置文件同步服务启动问题
  5. 无法加载登录用户界面DLL MyGina.dll 解决
  6. [Python图像处理] 四十二.Python图像锐化及边缘检测万字详解(Roberts、Prewitt、Sobel、Laplacian、Canny、LOG)
  7. [网络安全自学篇] 五十三.Windows系统安全之Metasploit实现栈溢出攻击及反弹shell原理解析
  8. Metal之简单渲染动态切换屏幕颜色
  9. 2019年第十届蓝桥杯 - 省赛 - C/C++大学C组 - B. 矩形切割
  10. TensorFlow模型持久化