📅  最后修改于: 2020-12-02 06:26:40             🧑  作者: Mango
使用HTTP请求标头,可以与CouchDB通信。通过这些请求,我们可以从数据库中检索数据,以文档形式将数据存储到数据库中,并且可以查看和格式化存储在数据库中的文档。
与数据库通信时,我们将使用不同的请求格式,例如get,head,post,put,delete和copy。对于CouchDB中的所有操作,输入数据和输出数据结构将采用JavaScript Object Notation(JSON)对象的形式。
以下是用于与CouchDB通信的HTTP协议的不同请求格式。
GET-此格式用于获取特定项目。要获得不同的商品,您必须发送特定的网址格式。在使用此GET请求的CouchDB中,我们可以以JSON文档的形式(在大多数情况下)获取静态项,数据库文档和配置以及统计信息。
HEAD -HEAD方法用于获取没有请求主体的GET请求的HTTP标头。
POST-发布请求用于上传数据。在使用POST请求的CouchDB中,您可以设置值,上传文档,设置文档值,还可以启动某些管理命令。
PUT-使用PUT请求,您可以创建新的对象,数据库,文档,视图和设计文档。
删除-使用DELETE请求,您可以删除文档,视图和设计文档。
COPY-使用COPY方法,可以复制文档和对象。
应该提供HTTP标头以获得正确的格式和编码。在将请求发送到CouchDB服务器时,您可以将Http请求标头与请求一起发送。以下是不同的Http请求标头。
内容类型-此标头用于指定我们与请求一起提供给服务器的数据的内容类型。通常,与请求一起发送的内容的类型将是MIME类型或JSON(application / json)。强烈建议在请求中使用Content-type。
接受-此标头用于指定服务器,客户端可以理解的数据类型列表,以便服务器将使用这些数据类型发送其响应。通常,您可以在此处发送客户端接受的MIME数据类型列表,以冒号分隔。
虽然不需要在CouchDB的查询中使用Accept,但是强烈建议确保客户端可以处理返回的数据。
这些是服务器发送的响应的标头。这些标头提供有关服务器作为响应发送的内容的信息。
内容类型-此标头指定服务器返回的数据的MIME类型。对于大多数请求,返回的MIME类型为text / plain。
缓存控制-此标头建议客户端处理服务器发送的信息。 CouchDB通常返回必须重新验证的信息,这表明该信息应尽可能进行重新验证。
Content-length-此标头返回服务器发送的内容的长度(以字节为单位)。
Etag-此标头用于显示文档或视图的修订。
以下是HTTP标头发送的状态代码的表格形式及其说明。
Sr.No. | Status Code & Description |
---|---|
1 |
200 − OK This status will be issued when a request completed successfully. |
2 |
201 − Created This status will be issued when a document is created. |
3 |
202 − Accepted This status will be issued when a request is accepted. |
4 |
404 − Not Found This status will be issued when the server is unable to find the requested content. |
5 |
405 − Resource Not Allowed This status is issued when the HTTP request type used is invalid. |
6 |
409 − Conflict This status is issued whenever there is any update conflict. |
7 |
415 − Bad Content Type This status indicated that the requested content type is not supported by the server. |
8 |
500 − Internal Server Error This status is issued whenever the data sent in the request is invalid. |
使用某些URL路径,您可以直接与数据库进行交互。以下是此类url路径的表格格式。
Sr.No. | URL & Operation |
---|---|
1 |
PUT /db This url is used to create a new database. |
2 |
GET /db This url is used to get the information about the existing database. |
3 |
PUT /db/document This url is used to create a document/update an existing document. |
4 |
GET /db/document This url is used to get the document. |
5 |
DELETE /db/document This url is used to delete the specified document from the specified database. |
6 |
GET /db/_design/design-doc This url is used to get the definition of a design document. |
7 |
GET /db/_design/designdoc/_view/view-name This url is used to access the view, view-name from the design document from the specified database. |