重新 表象的 s 泰特 T Transfer(REST)是一种体系结构样式,它定义了一组用于创建web服务的约束。 REST API 是一种以简单灵活的方式访问web服务的方法,无需任何处理。 REST技术通常比更健壮的简单对象访问协议(SOAP)技术更受欢迎,因为REST使用更少的带宽,简单灵活,更适合互联网使用。它用于从web服务获取或提供一些信息。通过REST API完成的所有通信仅使用HTTP请求。
工作
请求以web URL的形式从客户端发送到服务器,即HTTP GET或POST或PUT或DELETE请求。之后,服务器会以资源的形式返回一个响应,该资源可以是HTML、XML、图像或JSON之类的任何内容。但现在JSON是Web服务中最流行的格式。
在里面 超文本传输协议 在基于REST的体系结构中,有五种常用方法,即POST、GET、PUT、PATCH和DELETE。它们分别对应于创建、读取、更新和删除(或CRUD)操作。还有其他一些不太常用的方法,比如选项和头部。
- 获取: HTTP GET方法用于 阅读 (或检索)资源的表示。在安全路径中,GET返回XML或JSON的表示形式和200(OK)的HTTP响应代码。在错误情况下,它通常返回404(未找到)或400(错误请求)。
- 帖子: 后置动词最常用来表示 创造 新资源。特别是,它用于创建从属资源。也就是说,从属于其他资源(例如父资源)。成功创建后,返回HTTP状态201,返回一个位置头,其中包含指向新创建的资源的链接,该资源的状态为201 HTTP。 注: POST既不安全也不幂等。
- 放: 它是用来 更新 能力。然而,PUT也可以用于 创造 资源ID由客户端而不是服务器选择的情况下的资源。换句话说,如果PUT是一个URI,其中包含一个不存在的资源ID的值。更新成功后,从PUT返回200(或204,如果不返回正文中的任何内容)。如果使用PUT进行创建,则在成功创建时返回HTTP状态201。PUT不是安全操作,但它是幂等的。
- 补丁: 它是用来 修改 能力。补丁请求只需要包含对资源的更改,而不需要包含对整个资源的更改。这类似于PUT,但正文包含一组说明,说明如何修改当前驻留在服务器上的资源以生成新版本。这意味着补丁正文不应该只是资源的修改部分,而应该是某种补丁语言,比如JSON补丁或XML补丁。PATCH既不安全也不幂等。
- 删除: 习惯了 删除 由URI标识的资源。成功删除后,返回HTTP状态200(OK)和响应正文。
幂等性: 幂等HTTP方法是一种可以多次调用而不会产生不同结果的HTTP方法。不管该方法是只调用一次,还是多次调用。结果应该是一样的。同样,这只适用于结果,而不是资源本身。实例
C
1. a = 4 // It is Idempotence, as final value(a = 4) // would not change after executing it multiple // times. 2. a++ // It is not Idempotence because the final value // will depend upon the number of times the // statement is executed. |
RESTful web服务非常流行,因为它们重量轻、高度可扩展和可维护,并且非常常用于为基于web的应用程序创建API。
工具书类 : https://en.wikipedia.org/wiki/Representational_state_transfer