Rest架构风格
一、REST介绍::
1、REST是英文 Representational State Transfer的缩写 -- 表象化状态转变 或者 表述性状态转移
1.1 REST是 Web服务的一种架构风格
1.2 使用HTTP、URI等广泛流行的标准和协议
1.3 轻量化、跨平台、跨语言的架构设计
2、REST到底是什么??
REST是一种设计风格。它不是一种标准,也不是一种软件,而是一种思想。
REST通常基于使用HTTP,URI,和XML,JSON,以及HTML这些现有的广泛流行的协议和标准。
3、RESTful是什么??
RESTful对应的中文是REST式的
RESTful Web Service是一种常见的REST的应用,是遵守了REST风格的web服务
REST式的web服务是一种ROA(面向资源的架构)
二、Web service:两套标准
JAX-WS --- 平时使用的
JAX-RS --- restful
2 REST 架构的主要原则:
2.1 网络上的所有事物都可被抽象为资源(Resource)
2.2 每个资源都有一个唯一的资源标识符 (Resource ldentifier)
2.3 同一资源具有多种表现形式(xml、json等)
2.4 对资源的各种操作不会改变资源标识符
2.5 所有的操作都是无状态的(Stateless)
2.6 符合REST原则的架构方式即可称为 RESTful
3 URI和URL:
4、无状态性
4.1 无状态性使得客户端和服务器端不必保存对方的详细信息,服务器只需要处理当前Request,而不必了解前面 Request的历史。
4.2 从而可以更容易地释放资源
4.3 让服务器充分利用Pool技术来提高稳定性和性能
5、资源操作
6、REST 核心内容::
7、REST 接口定义
8、REST接口设计
9、响应设计
9.1 Content body 仅仅用来传输数据
9.2 数据要做到拿来就可用的原则,不需要拆箱的过程
9.3 用来描述数据或者请求的元数据放Header中,例如 X-Result-Fields
10、响应实例
11 、指定响应的属性字段
12、http响应状态码
Rest架构风格的更多相关文章
- REST 架构风格
目前基于网络应用的架构风格主要有三种: RPC架构风格 将服务器看作是由一些过程组成,客户端调用这些过程来执行特定的任务.SOAP就是RPC风格的一种架构.过程是动词性的(做某件事),因此RPC建 ...
- 理解本真的REST架构风格
http://kb.cnblogs.com/page/186516/ 引子 在移动互联网.云计算迅猛发展的今天,作为一名Web开发者,如果您还没听说过“REST”这个buzzword,显然已经落 ...
- 【DDD】领域驱动设计实践 —— 架构风格及架构实例
概述 DDD为复杂软件的设计提供了指导思想,其将易发生变化的业务核心域放置在限定上下文中,在确保核心域一致性和内聚性的基础上,DDD可以被多种语言和多种技术框架实现,具体的框架实现需要根据实际的业务场 ...
- [解读REST] 4.基于网络应用的架构风格
上篇文章介绍了一组自洽的术语来描述和解释软件架构:如何利用架构属性评估一个架构风格:以及对于基于网络的应用架构来说,那些架构属性是值得我们重点关注评估的.本篇在以上的基础上,列举一下一些常见的(RES ...
- (转载)RESTful架构风格下的4大常见安全问题
转载自<RESTful架构风格下的4大常见安全问题>,作者:马伟 伴随着RESTful架构风格的大量应用微服务架构的流行,一些本来难以察觉到的安全问题也逐渐开始显现出来.在我经历过的各种采 ...
- 2018(5)软件架构设计,架构风格,REST
2018上半年系统分析师试题五 阅读以下关于Web应用设计开发的描述,在答题纸上回答问题1至问题3. [说明] 某公司拟开发一个自由,可定制性强.用户界面友好的在线调查系统,以获取员工在课程学习.对公 ...
- 【转载】RESTful 架构风格概述
本文转载自https://blog.igevin.info/posts/restful-architecture-in-general/ 在移动互联网的大潮下,随着docker等技术的兴起,『微服务』 ...
- 【转载】理解本真的REST架构风格
本文将带您领略REST架构的起源.与Web的关系.REST架构的本质及特性,以及REST架构与其他架构风格之间的比较. 引子 在移动互联网.云计算迅猛发展的今天,作为一名Web开发者,如果您还没听说过 ...
- 架构-架构风格:REST
ylbtech-架构-架构风格:REST REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博 ...
- 基于Java的REST架构风格及接口安全性设计的讨论
1.REST即表现层状态传递(Representational [,rɛprɪzɛn'teʃnl] State Transfer,简称REST). (1)REST名词解释: 通俗来讲就是资源在网络中以 ...
随机推荐
- yaml文件 *.yml 写法简介
YAML(Yet Another Markup Language)(发音 /ˈjæməl/ ) 一种基于Unicode容易阅读,容易和脚本语言交互的,用来表达资料序列的编程语言. 适应场景 脚本语言: ...
- css设置input不显示光标
把光标颜色设置为透明色和父类一样就看不出来了,就好像取消了 caret-color: transparent; 设置了这个属性后,无论如何点击都好像没有光标似的
- 【转】 mysql 数据优化
数据库优化离不开索引,如何理解索引? ---------------------------------------------------------------------------- 可以参考 ...
- How to set the bash display to not show the vim text after exit?
Xshell客户端在vim编辑文件保存退出,仍然显示文本内容,而不是回到shell terminal终端. 解决办法如下: User1 is using TERM=xterm, in this cas ...
- Springboot学习02-webjars和静态资源映射规则
Springboot学习01-webjars和静态资源映射规则 前言 1-以前我们在IDEA中创建一个项目,添加web依赖包,我们现在是一个web应用,应该在man目录下面有一个webapp文件夹,将 ...
- [leetcode]127. Word Ladder单词接龙
Given two words (beginWord and endWord), and a dictionary's word list, find the length of shortest t ...
- Python爬虫项目--爬取某宝男装信息
本次爬取用到的知识点有: 1. selenium 2. pymysql 3 pyquery 正文 1. 分析目标网站 1. 打开某宝首页, 输入"男装"后点击"搜索&q ...
- docker-ce-17.09 镜像获取,创建,删除,保存
一.安装docker的文档地址: https://docs.docker.com/engine/installation/linux/centos/ 二.安装docker 1.通过yum进行安装 &g ...
- hbuilder header消失
hbuilder的header在google浏览器中调试能正常显示,但是发布到app安装到手机后headr不显示. <header class="mui-bar mui-bar-nav ...
- Ubuntu 16.04安装JDK并配置环境变量-【小白版】
系统版本:Ubuntu 16.04 JDK版本:jdk1.8.0_121 1.官网下载JDK文件jdk-8u121-linux-x64.tar.gz 我这里下的是最新版,其他版本也可以 2.创建一个目 ...