1. 什么是REST
REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表征。获得这些表征致使这些应用程序转变了其状态。随着不断获取资源的表征,客户端应用不断地在转变着其状态,所谓表征状态转移(Representational State Transfer)。
REST描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,他是 HTTP 规范的主要编写者之一。 REST 指的是一组架构约束条件和原则。
REST是一种的分布式应用架构风格,HTTP1.1是基于REST架构风格设计的。
其他分布式引用架构风格还有分布式对象(RMI / EJB /HSF) 和远程过程调用(SOAP/XML-RPC/JSON-RPC/HESSION)。
REST是设计风格而不是标准。REST通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准。
• 资源是由URI来指定。
• 对资源的操作包括获取、创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法。
• 通过操作资源的表现形式来操作资源。
• 资源的表现形式则是XML或者HTML,取决于读者是机器还是人,是消费web服务的客户软件还是web浏览器。当然也可以是任何其他的格式。
2. 什么是RESTful
满足架构约束条件和原则的应用程序或设计就是 RESTful, 根据RESTful API的url能猜测API功能,方便开发人员调用。
RESTful一种基于http协议和rest架构策略的一种简单web service,包含以下特征:
1) Web服务的基本URI,如 http://www.douban.com/feed/review/latest
2) Web服务接受与返回的互联网媒体类型,比如:JSON,XML ,YAML 等。
3) Web服务在该资源上所支持的一系列请求方法(比如:POST,GET,PUT或DELETE)。
4) API必须是超文本驱动
分享到:
相关推荐
1. `.classpath`:这是一个Eclipse项目配置文件,包含了项目中各种源代码、库和其他类路径元素的引用。它定义了编译和运行项目时需要的依赖关系。 2. `.mymetadata`:这是MyEclipse IDE的工作区元数据文件,存储了...
下面写一个最简单的Hello World例子,以便对RESTful WebService有个感性认识。因为非常专业理论化的描述RESTful WebService是一件理解起来很痛苦的事情。看看例子就知道个大概了,再看理论就容易理解多了。
首先我们来认识下RESTful Restful是一种设计风格而不是标准,比如一个接口原本是这样的: http://www.test.com/user/view/id/1 表示获取id为1的用户信息,如果使用Restful风格,可以变成这样: ...
1. **Servlet**:Servlet是Java开发Web应用的主要方式,它是一个Java类,用于扩展服务器的功能。Servlet可以处理HTTP请求,生成响应,并与数据库或其他服务进行交互。 2. **JSP(JavaServer Pages)**:JSP是一种...
1. 微服务间的通信方式,如RESTful API、RabbitMQ、Kafka等消息中间件的使用。 2. 断路器模式的重要性,Spring Cloud Hystrix是如何帮助实现容错和降级的。 3. Spring Cloud Zuul或Spring Cloud Gateway作为API网关...
微服务结构鼓励前后端分离,使用RESTful API通信,降低了耦合度,提升了系统的可扩展性和可维护性。 【远程调用方式】 在微服务和SOA中,服务之间的通信通常涉及远程调用。常见的调用方式有RPC和HTTP。 RPC(远程...
《Java Web 服务:构建与运行(影印版)》提供了对Java的API的一个全面介绍,...· 认识SOAP消息的结构 · 学习如何交付基于Java的RESTful Web服务和消耗商业RESTful服务 · 了解对基于SOAP和基于REST的Web服务的安全要求
10. **JAX-RS(Java API for RESTful Web Services)**:定义了创建RESTful服务的API,使得开发Web服务变得更加简单。 此外,非标准的规范,如Struts、Spring框架、Hibernate ORM等,虽然不是J2EE官方的一部分,但...
《构建基于Spring Boot和Kotlin的RESTful Web服务》 在现代Web开发中,RESTful API已经成为构建可扩展、高效且易于维护的应用程序的关键技术。...同时,你也会对如何构建符合REST原则的API有更深入的认识。
1. **Ceph OSD (Object Storage Device)**:OSD是Ceph中存储数据的主要实体,负责数据的存储、校验和心跳通信。一个OSD通常对应一个硬盘分区,其架构由物理磁盘、Linux文件系统和OSD服务组成。为了提高性能,OSD会...
【认识OCS:深入理解开放通信服务】 在IT领域,OCS通常指的是“开放通信服务”(Open Communication Services)。这是一个广泛的概念,涵盖了一系列用于构建、集成和管理通信服务的技术和平台。OCS的核心目标是提供...
1. **RESTful服务**:理解RESTful架构风格对于构建可扩展、高性能的Web服务至关重要。Jersey提供了一套完整的工具集来支持RESTful服务的开发,包括注解、过滤器、提供者等。 2. **Jersey框架**:熟悉Jersey的API和...
· 认识SOAP消息的结构 · 学习如何交付基于Java的RESTful Web服务和消耗商业RESTful服务 · 了解对基于SOAP和基于REST的Web服务的安全要求 · 学习如何在各种环境下部署JAX-WS服务 不管是学生还是有经验...
微服务架构是一种将大型复杂应用程序拆分为一组小型、独立的服务的方法,每个服务都能在其自己的进程中运行,通过轻量级通信机制(如HTTP RESTful API)互相协作。这种架构有助于提高系统的可伸缩性、可维护性和故障...
在本主题“认识微服务-2.服务拆分和远程调用”中,我们将深入探讨微服务的核心组成部分:服务拆分和服务之间的远程调用。 服务拆分是微服务架构的基础,它的目标是实现应用程序的模块化,将复杂的大规模系统分解为...
Step-1:RESTful与Django 内容提要 什么是RESTful API 为什么要RESTful Python Web框架如何进行RESTful开发 Django REST Framework 不同HTTP请求方法如何发生作用 什么是RESTful API REST是Representational State ...
这篇演讲稿,收录于名为“01+SDCC+-+胡峰+-+京东咚咚微服务架构从理论认识到实践落地.pdf”的文件中,对于想要了解和实施微服务架构的人来说,无疑是一份宝贵的学习资料。 微服务架构是一种将大型复杂应用拆分为一...
具体实现了创建项目、编码开发实体类及各模块层次分明的设计以及基于 RESTful API 进行了单元测试。 适合人群:有一定 Java 和 Spring Boot 开发经验的研发工作者,或者想要从事此类工作的软件工程师。 使用场景及...
1. **虚拟化技术**:虚拟机是云计算的基础,它允许在一台物理服务器上创建多个相互隔离的虚拟环境,如Citrix Xen、VMware ESX Server和Microsoft Hyper-V等。虚拟化技术提高了硬件资源的利用率,简化了系统的管理和...
【Web服务开发实验1】是计算机科学与技术专业软件设计与体系架构课程的一部分,由指导教师王健讲师指导,学生苏洋、郑友强、蒋博为共同完成。实验主要目的是将面向服务的体系结构(SOA)理论应用于实际编程,以...