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

上一篇: CouchDB cURL 下一篇: CouchDB快速入門