在这篇文章中,我们将看到RESTful Web服务的介绍。

REST是一种建筑风格,由Roy Fielding于2000年在其博士学位论文中提出。 用Web服务的术语来说,代表性状态转移(REST)是一种无状态的客户端-服务器体系结构,其中Web服务被视为资源,并且可以通过其URI进行标识。 希望使用这些资源的Web服务客户端通过全局定义的一组远程方法进行访问,这些方法描述了将对资源执行的操作。

它由提供访问资源的REST服务器和访问和修改REST资源的REST客户端两个组件组成。

In the REST architecture style, clients and servers exchange representations of resources by using a standardized interface and protocol.REST isn't protocol specific, but when people talk about REST they usually mean REST over HTTP. The response from server is considered as the representation of the resources. This representation can be generated from one resource or more number of resources.

c rest服务器 restful 服务端_c rest服务器

REST allows that resources have different representations, e.g.xml, json etc. The rest client can ask for specific representation via the HTTP protocol.

HTTP方法:

RESTful Web服务对它们执行的操作使用HTTP协议方法。

得到:它定义了无副作用的资源读取访问。此操作是幂等的,即可以多次应用而不会改变结果放:通常用于更新资源,也必须是幂等的。删除:删除资源。 这些操作是幂等的,即它们可以重复执行而不会导致不同的结果。开机自检:用于创建新资源。 它不是幂等的。

幂等表示多个成功请求的结果在初始应用后不会更改资源状态 例如 : Delete是幂等方法,因为当您第一次使用delete时,它将删除资源(初始应用程序),但是之后,所有其他请求都将没有结果,因为资源已被删除。

Post不是幂等方法,因为当您使用post创建资源时,它将为每个新请求继续创建资源,因此多个成功请求的结果将不同。

RESTful Web服务的功能:

通过URI识别资源:资源由其URI(通常是互联网上的链接)标识。 因此,客户端可以使用资源的URI直接访问RESTful Web服务(就像您在浏览器的地址栏中输入网站地址并获得某种表示形式作为响应一样)。

统一的界面:使用一组固定的创建,读取,更新和删除操作对资源进行操作:PUT,GET,POST和DELETE。

客户端服务器:明确的分离问题是此约束背后的原因。 将客户端和服务器之间的关注点分开有助于提高客户端的可移植性和服务器组件的可伸缩性。

无状态:从客户端到服务器的每个请求都必须包含理解该请求所需的所有信息,并且不能利用服务器上存储的任何上下文。

快取:为了提高网络效率,响应必须能够标记为可缓存或不可缓存。

命名资源-系统由使用URL命名的资源组成。

互连的资源表示-资源的表示使用URL互连,从而使客户端能够从一种状态进入另一种状态。

分层组件-可以在客户端和资源之间插入中介(例如代理服务器,缓存服务器,网关等)以支持性能,安全性等。

自描述消息:资源与它们的表示分离,因此可以以多种格式访问其内容,例如HTML,XML,纯文本,PDF,JPEG,JSON等。

You can also check Restful interview questions with answers for beginners and experienced

Web服务教程内容:

  • Web services in java
  • Web services interview questions
  • SOAP web service introduction
  • RESTful web service introduction
  • Difference between SOAP and REST web services
  • SOAP web service example in java using eclipse
  • JAX-WS web service eclipse tutorial
  • JAX-WS web service deployment on tomcat
  • Create RESTful web service in java(JAX-RS) using jersey
  • RESTful web service
  • JAJSONexample using jersey
  • RESTful web service
  • JAXRS CRUD example using jersey
  • AngularJS RESTful web service
  • JAXRS CRUD example using $http
  • RESTful Web Services (JAX-RS) @QueryParam Example
  • Spring Rest simple example
  • Spring Rest json example
  • Spring Rest xml example
  • Spring Rest CRUD example