CouchDB HTTP API


HTTP請求用於與CouchDB進行通訊。

通過使用這些請求,可以 -

  • 從資料庫檢索資料
  • 將資料以檔案的形式儲存到資料庫中
  • 檢視並格式化儲存在資料庫中的文件。

HTTP請求格式

在通訊時,資料庫使用不同的請求格式。 這些請求格式有:getheadpostputdeletecopy

在CouchDB中,輸入資料和輸出資料結構將以所有操作的JavaScript物件符號(JSON)物件的形式。

請參閱用於與CouchDB通訊的HTTP協定的不同請求格式,如下所列 -

GET:GET請求格式用於獲取特定專案。 要獲取不同的專案,必須傳送特定的網址模式。 在CouchDB中使用此GET請求,以JSON文件的形式獲取靜態項,資料庫文件和組態以及統計資訊。
HEAD:HEAD方法用於獲取GET請求的HTTP頭,而不需要響應的正文。
POST:Post請求用於上傳資料。 在CouchDB中,POST請求主要用於設定值,上傳文件,設定文件值,還可以啟動某些管理命令。
PUT:PUT請求用於建立新物件,資料庫,文件,檢視和設計文件。
DELETE:DELETE請求用於刪除文件,檢視和設計文件。
COPY:COPY方法用於複製文件和物件。

HTTP請求檔頭

提供HTTP檔頭以獲得正確的格式和編碼。 HTTP請求頭與請求一起傳送,同時將請求傳送到CouchDB伺服器。 下面將解釋不同的Http請求檔頭。

Content-type:內容型別(Content-type)檔頭用於指定提供給伺服器的資料的內容型別以及請求。大多數情況下,傳送的內容型別將是MIME型別或JSON(application/JSON)。 強烈建議在請求上使用Content-type

Accept:Accept檔頭用於指定伺服器,用戶端可以理解的資料型別列表,以便伺服器將使用這些資料型別傳送其響應。 一般來說,可以傳送用戶端接受的MIME資料型別列表,資料項之前以冒號分隔。

在CouchDB中,不需要在查詢中使用Accept,但強烈建議確保返回的資料可以由用戶端處理。

HTTP響應頭

HTTP響應頭是伺服器傳送的一種響應型別。 這些檔頭提供了有關伺服器作為響應傳送的內容的資訊。

4種型別的響應頭:

Content-type : 內容型別(Content-type)響應頭指定伺服器返回的資料的MIME型別。對於大多數請求,返回的MIME型別是text/plain

Cache-control:快取控制(Cache-control)響應頭用於建議用戶端處理伺服器傳送的資訊。 CouchDB主要返回must-revalidate,這表示如果可能的話,該資訊應該被重新驗證。

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 操作說明
PUT /db PUT url用於建立一個新的資料庫。
GET /db GET url用於獲取有關現有資料庫的資訊。
PUT /db/document PUT url用於建立文件/更新現有文件。
GET /db/document GET url用於獲取文件。
DELETE /db/document DELETE url用於從指定的資料庫中刪除指定的文件。
GET /db/_design/design-doc 此URL用於獲取設計文件的定義。
GET /db/_design/designdoc/_view/view-name 此URL用於從指定的資料庫存取設計文件中的檢視 - view-name