Easy learning with example program codes


To communicate with CouchDB in order to retrieve data from the database, to store data into the database, to view the stored documents and to format the documents stored in a database, the HTTP requests are used. The input data and output data structures, for any operation in CouchDB, are in the form of JavaScript Object Notation (JSON) object.


HTTP Request Formats:

To communicate with CouchDB different request formats of HTTP Protocol are used, including:

GET●      To get static items.

●      To get statistical information in the form of JSON documents.

●      To get database documents and configuration.

HEAD●      To get the HTTP header of a GET request without the body of the response.
POST●      To set values.

●      To upload documents.

●      To set document values.

●      To start certain administration commands.

PUT●      To create new Objects, Databases, Documents, Views and Design documents.
DELETE●      To delete Documents, Views and Design documents.
COPY●      To copy documents and objects.


HTTP Request Headers:

To get the right format and encoding, sending HTTP request headers along with the request is a must while sending the request to the CouchDB server. There are mainly two types of HTTP request headers. These are:


  • Used to specify the content type of the data to be sent to the server along with the request.
  • The type of content sent is mostly MIME type or JSON (application/JSON).
  • Highly recommended.


  • Used to specify the list of data types that client can understand to the server.
  • The server thus sends its response using the specified data types. A list of MIME data types, separated by colons can be sent.
  • Using Accept in queries is not required in CouchDB.
  • But to ensure that the data returned can be processed by the client, this request header is highly recommended.


HTTP Response Headers:

The HTTP response headers are used to get information about the content sent by the server as a response as they itself are a type of response sent by the server. There are mainly four types of HTTP Response headers. These are:


  • Used to define the MIME type of the data sent by the server which is text/plain for most requests.


  • Used to suggest the client about treating the information sent by the server.
  • If must-revalidate is returned, then the information should be revalidated if possible.


  • Used to retrieve the length of the content sent by the server.
  • It retrieves the length in bytes.


  • Used to display the revision for a document or a view.


Status Codes of HTTP Headers:

200 – OKGenerated when a request completed successfully.
201 – CreatedGenerated when a document is created.
202 – AcceptedGenerated when a request is accepted.
404 – Not FoundIssued when the server is unable to find the requested content.
405 – Resource Not AllowedIssued when the http request type used is invalid.
409 – ConflictIssued whenever there is any update conflict.
415 – Bad Content TypeTo specify that the requested content type is not supported by the server.
500 – Internal Server ErrorIssued whenever the invalid data is sent as request.



HTTP URL paths to interact with database:

PUT /dbTo create a new database.
GET /dbTo get the information about the existing database.
PUT/db/documentTo create a document/update an existing document.
GET /db/documentTo get a document from the specified database.
DELETE /db/documentTo delete a document from the specified database.
GET/db/_design/design-docTo get the definition of a design document.
GET /db/_design/designdoc/_view/view-nameTo access the view, view-name of a design document.


Please follow and like us:

Copyright © 2020 CodesJava Protection Status