Representational State Transfer(表述性状态转移)
RSET是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性。
REST的设计概念和准则为:
- 网络上的所有事物都可以被抽象为资源
- 每一个资源都有唯一的字元标识,对资源的操作不会改变这些标识
- 所有的操作都是无状态的
REST架构风格最重要的架构约束:
1. 客户-服务器
通信只能由客户端单方面发起,表现为请求-响应的形式
2. 无状态
通信的会话状态(session state)应该全部由客户端负责维护
3. 缓存
响应内容可以在通信链的某处被缓存,以改善网络效率
4. 统一接口
通信链的组件之间通过统一的接口相互通信,以提高交互的可见性
5. 分层系统
通过限制组件的行为(每个组件只能看到与其交互的紧邻层),将架构分解为若干等级的层
6. 按需代码
支持通过下载并执行一些代码(如Java Applet,Flash或JavaScript),对客户端的功能进行扩展
遵循CRUD原则:
对于资源只需要四种行为:创建、获取、更新和删除。
可通过URI来识别和定位资源,并通过GET、PUT、POST、DELETE操作。
REST核心是url和面向资源。
REST思想的关键点:
1. 面向资源的接口设计
所有接口设计都是针对资源设计的。
2.抽象操作为基础的CRUD
HTTP中的GET,PUT,POST,DELETE对应了read,update,create,delete四种操作。
3.HTTP是应用协议而非传输协议
4.无状态,自包含
RESTful WebService是基于SOAP消息的WebService简单的多的一种轻量级Web服务,
它是没有状态的,发布和调用都非常的轻松容易。
RESTful Webservice (一) 概念的更多相关文章
-
SOAP Webservice和RESTful Webservice
http://blog.sina.com.cn/s/blog_493a845501012566.html REST是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的 ...
-
Web Service进阶(七)浅谈SOAP Webservice和RESTful Webservice
浅谈SOAP Webservice和RESTful Webservice REST是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性.RE ...
-
开发基于CXF的 RESTful WebService web 项目 webservice发布
配置步骤 开发基于CXF的 RESTful WebService 1.创建Web项目并导入CXF的jar 2.在Web.xml中配置 CXFServlet <servlet> <se ...
-
RESTful Webservice
1,REST和RESTFUL是什么? REST ( REpresentational State Transfer ),State Transfer 为 "状态传输" 或 &quo ...
-
Restful是什么,SOAP Webservice和RESTful Webservice
首先,应该怀着这样一种心态来学习Restful——Restful你可以将其理解一种软件架构风格,并且诠释了Http协议的设计初衷,所以不要把他理解的那么神秘,Restful风格有好处,当然也是有坏处的 ...
-
RESTful WebService入门(转)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://lavasoft.blog.51cto.com/62575/229206 REST ...
-
Jersey框架一:Jersey RESTful WebService框架简介
Jersey系列文章: Jersey框架一:Jersey RESTful WebService框架简介 Jersey框架二:Jersey对JSON的支持 Jersey框架三:Jersey对HTTPS的 ...
-
CXF发布restful WebService的入门例子(客户端)
上篇说了怎么用cxf发布restful webservice,由于浏览器只能对该service发送http的GET请求,所以如果想对服务器上的数据,还需要实现客户端. 客户端的实现方式有无数种...可 ...
-
CXF发布restful WebService的入门例子(服务器端)
研究了两天CXF对restful的支持. 现在,想实现一个以 http://localhost:9999/roomservice 为入口, http://localhost:9999/roomse ...
随机推荐
-
【集合框架】JDK1.8源码分析之Comparable &;&; Comparator(九)
一.前言 在Java集合框架里面,各种集合的操作很大程度上都离不开Comparable和Comparator,虽然它们与集合没有显示的关系,但是它们只有在集合里面的时候才能发挥最大的威力.下面是开始我 ...
-
windows registry =>; control pannel
User Variables HKEY_CURRENT_USER\Environment System Variables HKEY_LOCAL_MACHINE\SYSTEM\CurrentContr ...
-
JavaScript(十一) HTML DOM - 改变CSS
HTML DOM 允许 JavaScript 改变 HTML 元素的样式. A.改变 HTML 样式 如需改变 HTML 元素的样式,请使用这个语法: document.getElementById( ...
-
Ubuntu最小化桌面快捷键Super+D不生效解决
之前用的Debian,最近研发老大让统一使用Ubuntu来开发,安装了Ubuntu 15.10之后,设置了最小化桌面的快捷键为Super+D(在Systm Settings/系统设置—>Keyb ...
-
freemarker字符串转换成日期和时间
freemarker字符串转换成日期和时间 1.日期时间转换总结 (1)date用来转换为日期 (2)time用来转换为时间 (3)datetime用来转换为日期和时间 2.展示演示样例 <#- ...
-
一个JAVA代码
public class HelloJava { public static void main(String[] args) { System.out.println("这"); ...
-
tomcat压缩优化和缓存策略
tomcat压缩内容 tomcat的压缩优化就是将返回的html页面等内容经过压缩,压缩成gzip格式之后.发送给浏览器,浏览器在本地解压缩的过程. 对于页面量信息大或者带宽小的情况下用压缩方式还是蛮 ...
-
java如何计算程序运行时间
long startTime = System.currentTimeMillis(); //获取开始时间 doSomething(); //测试的代码段 long endTime = S ...
-
React的组件用法
React.createClass() 中文翻译 https://discountry.github.io/react/3.4K ( https://doc.react-china.org868 ) ...
-
Oracle_11gR2_概念_第06章_数据字典和动态性能视图_英文词汇
decode 解码 be intend for 适应 distinguished 显著的,突出的 implied 隐含的 abbreviated 简短的 enabled roles 已 ...