参考资料
Building Web Services the REST Way
面向资源与面向活动的 Web 服务
Architectural Styles and the Design of Network-based Software Architectures
www.iteye.com/topic/70113
摘要
看了以上关于REST的资料,还是不太理解REST是个什么东东。个人觉得REST主要是一种设计的理念,架构的样式,类似于模式的东西。
其本质是借助于HTTP协议处理基于资源访问的业务需求,主要适用的场合是针对某种类型数据的CRUD操作,通过URL来标识用户需要请求的资源。
而基于WSDL/SOAP的WEB服务是通过规范确定了如何描述用户的请求和响应格式。
REST主要特性
Client-Server:基于拉式的交互方式。
无状态: 每个请求必须包含所有必须的信息,不能利用任何服务器保存的上下文信息。
缓存:为提高网络传输效率,响应必须能够标识为可缓存和不可缓存的。
统一接口:基于一个统一的接口访问所有的资源如:HTTP GET,POST,PUT,DELETE。
命名的资源集:系统由使用URL命名的资源集组成。
分层模式:客户端和要访问的资源之间可以插入任何中间媒介,如代理服务器,缓存服务器,网关。
设计原则
首先标识所有需要暴露为服务的概念实体。
针对每一个资源创建一个URL,这些资源应该是名词而不是动词。
根据客户端是否仅接受资源还是需要创建,更改资源进行分类。
所有使用HTTP GET访问的资源,都不应该导致更改资源。
在资源的表示中包含超链接来访问其他相关资源的信息。
设计数据粒度,不要在单个响应文档中返回所有信息。
使用XML SCHEMA,DTD等指定响应数据的格式。
使用WSDL或HTML文档描述应该如何使用你的服务。
分享到:
相关推荐
在当今互联网技术日新月异的时代,REST(Representational State Transfer)架构风格已成为构建Web服务的重要方式,它强调资源的表述和状态转换,简单易用且具有高度可扩展性。MyEclipse,作为一款强大的Java集成...
· 理解基于SOAP的和REST样式的服务的区别 · 编写、部署和使用基于SOAP的核心Java服务 · 理解Web服务描述语言(WSDL)服务契约 · 认识SOAP消息的结构 · 学习如何交付基于Java的RESTful Web服务和消耗...
· 理解基于SOAP的和REST样式的服务的区别 · 编写、部署和使用基于SOAP的核心Java服务 · 理解Web服务描述语言(WSDL)服务契约 · 认识SOAP消息的结构 · 学习如何交付基于Java的RESTful Web服务和消耗商业RESTful...
JAX-WS基于SOAP,提供了一种创建SOAP Web服务和客户端的方式,而JAX-RS遵循REST(Representational State Transfer)架构原则,使创建RESTful Web服务变得简单。 在XML和Web服务的结合中,常见的应用场景包括:通过...
对于REST服务,通常使用`WebHttpBinding`,并启用`WebHttp`行为以支持REST样式请求。 4. **路由服务**: WCF REST 支持路由服务,允许更灵活的URL路由策略。通过添加`System.ServiceModel.Routing`命名空间,可以...
4. **自动发布图层**:通过GeoServer的REST API,可以编写脚本或程序自动创建工作空间、连接PostGIS数据源、定义图层,并发布为Web服务。这种方式在需要频繁更新地图服务或者有大量图层需要发布的场景下尤其有用。 ...
"rest" 指的是Representational State Transfer(表述性状态转移),是一种网络应用程序的设计风格和开发方式,基于HTTP协议,用于Web服务的API设计。"python" 是一种高级编程语言,以其简洁明了的语法和强大的功能...
JavaScript客户端在调用REST地图服务时使用5.0预缓存是一种优化Web应用程序性能的策略。REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,允许客户端通过URL来获取、...
在这个阶段,开发者通常会创建一个新的WCF服务类,定义服务接口,并配置服务行为以支持HTTP协议和REST样式。 3. **CompletedSolution:完成的解决方案** "CompletedSolution"文件可能包含了一个完整的RESTful WCF...
休息网络图形用户界面无编程: 为 REST/JSON 类型的 Web 服务创建描述性 Web 应用程序的框架。 Web 门户的基本功能是开箱即用的: 布局:在 GUI 上排列数据和内容视图视图类型:该框架带有很多交互式视图类型表单、...
这个基本的REST des go-restful软件包,用于使用Google Go Code示例构建REST样式的Web服务。REST要求开发人员以与协议定义一致的方式显式使用HTTP方法。 这项基本的REST设计原则在创建,读取,更新和删除(CRUD)...
"rest2web-开源"是一个基于Python的工具,专门设计用于构建和管理网站或项目文档。这个工具的独特之处在于它支持使用reStructuredText (reST)格式来编写内容,这是一种简洁且易于阅读的文本标记语言,广泛应用于软件...
3. **JAX-RS**(Java API for RESTful Web Services):JAX-RS是基于Java的RESTful Web服务规范,用于创建REST风格的Web服务。 ### 开发工具 开发Java Web服务通常使用集成开发环境(IDE)如Myeclipse10。此外,还...
代表性状态转移是一种软件体系结构样式,它定义了一组用于创建Web服务的约束。 符合REST架构风格的Web服务(称为Rest API)可在Internet上的计算机系统之间提供互操作性。我们在杰克逊的帮助下使用Sping框架实现了该...
本项目是一款基于Flink Rest API开发的flink-admin Web控制台源码,包含332个文件,涵盖133个Java源文件、68个JavaScript文件、27个CSS样式文件、27个Freemarker模板文件、26个PNG图片文件、16个JPG图片文件、11个...
简单的接口,以REST云服务,包括TMS XData数据库。 容易部署 应用程序由HTML和Javascript文件组成,可以轻松地部署在任何轻或重量级的web服务器上。 使用任何现有的负载平衡软件和/或技术以达到最高的性能 快速RAD...
用于CVE搜索的简单REST样式的Web服务。 要求 入门 安装CVE服务器 您必须在本地计算机上运行ruby,git,mongodb和nginx。 curl --ssl -s ...
Web 服务协议如 SOAP、REST 和 XML-RPC 提供了将这些遗留应用程序与网络集成的途径。本文主要关注 XML-RPC,这是一种简单且轻量级的消息传递协议,支持基于 XML 的跨平台通信,特别适合 C++ 应用程序。 **为什么要...
JavaScript REST地图与WMS地图的叠加是WebGIS应用中常见的技术操作,主要涉及SuperMap iClient 6R库以及WMS(Web Map Service)服务。本文将深入探讨这两种地图服务的叠加原理,以及如何在JavaScript环境中实现这一...
Django REST Framework是Python中广泛使用的Web服务开发框架,它简化了构建RESTful API的过程。styler_rest_framework库则是针对Django REST Framework的一个扩展,其1.4.2版本可能是为了增强API的响应样式和用户...