CouchDB – HTTP API

CouchDB – HTTP API


使用 HTTP 请求标头,您可以与 CouchDB 通信。通过这些请求,我们可以从数据库中检索数据,将数据以文档的形式存储到数据库中,我们可以查看和格式化存储在数据库中的文档。

HTTP 请求格式

在与数据库通信时,我们将使用不同的请求格式,如 get、head、post、put、delete 和 copy。对于 CouchDB 中的所有操作,输入数据和输出数据结构将采用 JavaScript Object Notation (JSON) 对象的形式。

以下是用于与 CouchDB 通信的 HTTP 协议的不同请求格式。

  • GET – 此格式用于获取特定项目。要获得不同的项目,您必须发送特定的 url 模式。在 CouchDB 中使用这个 GET 请求,我们可以以 JSON 文档的形式(大多数情况下)获取静态项目、数据库文档和配置以及统计信息。

  • HEAD – HEAD 方法用于获取不带响应正文的 GET 请求的 HTTP 标头。

  • POST – 发布请求用于上传数据。在 CouchDB 中使用 POST 请求,您可以设置值、上传文档、设置文档值,还可以启动某些管理命令。

  • PUT – 使用 PUT 请求,您可以创建新对象、数据库、文档、视图和设计文档。

  • DELETE – 使用 DELETE 请求,您可以删除文档、视图和设计文档。

  • COPY – 使用 COPY 方法,您可以复制文档和对象。

HTTP 请求标头

应提供 HTTP 标头以获得正确的格式和编码。在向 CouchDB 服务器发送请求时,您可以将 Http 请求标头与请求一起发送。以下是不同的 Http 请求标头。

  • Content-type – 此标头用于指定我们随请求提供给服务器的数据的内容类型。大多数情况下,我们随请求发送的内容类型将是 MIME 类型或 JSON (application/json)。强烈建议在请求上使用 Content-type。

  • Accept – 此标头用于指定服务器,客户端可以理解的数据类型列表,以便服务器将使用这些数据类型发送其响应。通常,您可以在此处发送客户端接受的 MIME 数据类型列表,以冒号分隔。

    虽然在 CouchDB 的查询中使用 Accept 不是必需的,但强烈建议确保返回的数据可以被客户端处理。

响应头

这些是服务器发送的响应的标头。这些标头提供有关服务器作为响应发送的内容的信息。

  • Content-type – 此标头指定服务器返回的数据的 MIME 类型。对于大多数请求,返回的 MIME 类型是 text/plain。

  • Cache-control – 此标头建议客户端处理服务器发送的信息。CouchDB 主要返回 must-revalidate,这表明如果可能,应该重新验证信息。

  • Content-length – 此标头返回服务器发送的内容的长度,以字节为单位。

  • Etag – 此标题用于显示文档或视图的修订。

状态代码

以下是 http 标头发送的状态代码的表格形式及其说明。

Sr.No. 状态代码和描述
1

200 − OK

当请求成功完成时,将发出此状态。

2

201 − Created

创建文档时将发布此状态。

3

202 − Accepted

接受请求时将发出此状态。

4

404 − Not Found

当服务器无法找到请求的内容时,将发出此状态。

5

405 − Resource Not Allowed

当使用的 HTTP 请求类型无效时,会发出此状态。

6

409 − Conflict

只要有任何更新冲突,就会发出此状态。

7

415 − Bad Content Type

此状态表示服务器不支持请求的内容类型。

8

500 − Internal Server Error

只要请求中发送的数据无效,就会发出此状态。

HTTP URL 路径

使用某些 url 路径,您可以直接与数据库交互。以下是此类 url 路径的表格格式。

Sr.No. 网址和操作
1

PUT /db

此 url 用于创建新数据库。

2

GET /db

此 url 用于获取有关现有数据库的信息。

3

PUT /db/document

此 url 用于创建文档/更新现有文档。

4

GET /db/document

这个 url 用于获取文档。

5

DELETE /db/document

这个 url 用于从指定的数据库中删除指定的文档。

6

GET /db/_design/design-doc

此 url 用于获取设计文档的定义。

7

GET /db/_design/designdoc/_view/view-name

此 url 用于访问来自指定数据库的设计文档中的视图 view-name。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁