CouchDB HTTP API

 

HTTP请求用于与CouchDB通信。

通过使用这些请求,我们可以:

  • 从数据库中检索数据
  • 以文档形式将数据存储到数据库中
  • 查看并格式化存储在数据库中的文档。

 

HTTP请求格式

在通信时,数据库使用不同的请求格式。这些请求格式为: 获取,标题,发布,放置,删除和复制。

在CouchDB中,所有操作的输入数据和输出数据结构都将采用JavaScript Object Notation(JSON)对象的形式。

查看用于与CouchDB通信的HTTP协议的不同请求格式。

  • GET: GET请求格式用于获取特定项目。要获得不同的商品,您必须发送特定的网址格式。在使用此GET请求的CouchDB中,我们可以以JSON文档的形式获取静态项,数据库文档和配置以及统计信息。
  • HEAD: HEAD方法用于获取GET请求的HTTP标头,而不包含响应的正文。
  • POST: 发布请求用于上传数据。在CouchDB中,POST请求主要用于设置值,上传文档,设置文档值,还可以启动某些管理命令。
  • PUT: PUT请求用于创建新的对象,数据库,文档,视图和设计文档。
  • DELETE: DELETE请求用于删除文档,视图和设计文档。
  • COPY: COPY方法用于复制文档和对象。

 

HTTP请求标头

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

  • 内容类型:  内容类型标头用于指定我们提供给服务器的数据的内容类型以及请求。通常,与请求一起发送的内容类型将是MIME类型或JSON(应用程序/JSON)。强烈建议对请求使用Content-type。
  • 接受:  接受标头用于指定服务器,客户端可以理解的数据类型列表,以便服务器将使用这些数据类型发送响应。通常在这里,您可以发送客户端接受的MIME数据类型列表,以冒号分隔。

在CouchDB中,不需要在查询中使用"接受",但是强烈建议确保可以返回返回的数据。由客户处理。

 

HTTP响应标头

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

响应标头有4种类型:

  • Content-type: 类型响应标头指定服务器返回的数据的MIME类型。对于大多数请求,返回的MIME类型为text/plain。
  • 缓存控件: 缓存控件响应标头用于建议客户端处理由邮件发送的信息。服务器。 CouchDB通常返回必须重新验证的信息,该信息指示如果可能的话,应重新验证该信息。
  • Content-length: content-length标头用于获取广告的长度。服务器发送的内容(以字节为单位)。
  • Etag: Etag标头用于显示文档或视图的修订。

 

HTTP标头的状态码

下表指定了HTTP标头发送的状态码及其工作方式:

状态码 说明
200-OK 请求成功完成时,将生成此状态。
201-Created 此状态是在创建文档时生成的。
202-Accepted 此状态在接受请求时生成。
404-Not Found 当服务器无法找到请求的内容时,将发出此状态。
405-Resource Not Allowed 当使用的http请求类型无效时,将发出此状态。
409-Conflict 只要有任何更新冲突,就会发出此状态。
415-Bad Content Type 此状态表明服务器不支持请求的内容类型。
500-Internal Server Error 每当请求发送无效数据时,就会发出此状态。

 

与数据库交互的HTTP URL路径

以下是一些URL路径的列表,这些URL路径用于直接与数据库进行交互。

URL 操作
PUT/db PUT网址用于创建新数据库。
GET/db GET url用于获取有关现有数据库的信息。
PUT/db/document PUT网址用于创建文档/更新现有文档。
GET/db/document GET URL用于获取文档。
DELETE/db/document DELETE URL用于从指定的数据库中删除指定的文档。
GET/db/_design/design-doc 此URL用于获取设计文档的定义。
GET/db/_design/designdoc/_view/view-name 此URL用于访问视图,即指定数据库中设计文档中的视图名称。

在CouchDB中,数据库是存储文档的最外层结构。 CouchDB提供了cURL实用程序来创建数据库。您也可以使用Futon CouchDB的Web界面。 1. 使用Fauxton创建数据库在网络浏览器 ...