- CouchDB 教程
- CouchDB - 首頁
- CouchDB - 簡介
- CouchDB - 安裝
- CouchDB - Curl & Futon
- CouchDB - HTTP API
- CouchDB - 建立資料庫
- CouchDB - 刪除資料庫
- CouchDB - 建立文件
- CouchDB - 更新文件
- CouchDB - 刪除文件
- CouchDB - 附加檔案
- CouchDB 有用資源
- CouchDB - 快速指南
- CouchDB - 資源
- CouchDB - 討論
CouchDB - HTTP API
使用 HTTP 請求頭,您可以與 CouchDB 通訊。透過這些請求,我們可以從資料庫中檢索資料,以文件的形式將資料儲存到資料庫中,並且可以檢視和格式化儲存在資料庫中的文件。
HTTP 請求格式
在與資料庫通訊時,我們將使用不同的請求格式,如 get、head、post、put、delete 和 copy。對於 CouchDB 中的所有操作,輸入資料和輸出資料結構都將採用 JavaScript 物件表示法 (JSON) 物件的形式。
以下是用於與 CouchDB 通訊的 HTTP 協議的不同請求格式。
GET - 此格式用於獲取特定專案。要獲取不同的專案,您必須傳送特定的 URL 模式。在 CouchDB 中,使用此 GET 請求,我們可以獲取靜態專案、資料庫文件和配置,以及以 JSON 文件(在大多數情況下)形式的統計資訊。
HEAD - HEAD 方法用於獲取 GET 請求的 HTTP 標頭,而無需響應正文。
POST - Post 請求用於上傳資料。在 CouchDB 中,使用 POST 請求,您可以設定值、上傳文件、設定文件值,還可以啟動某些管理命令。
PUT - 使用 PUT 請求,您可以建立新的物件、資料庫、文件、檢視和設計文件。
DELETE - 使用 DELETE 請求,您可以刪除文件、檢視和設計文件。
COPY - 使用 COPY 方法,您可以複製文件和物件。
HTTP 請求頭
應提供 HTTP 標頭以獲取正確的格式和編碼。在向 CouchDB 伺服器傳送請求時,您可以將 Http 請求標頭與請求一起傳送。以下是不同的 Http 請求標頭。
Content-type - 此標頭用於指定我們與請求一起提供給伺服器的資料的內容型別。大多數情況下,我們與請求一起傳送的內容型別將是 MIME 型別或 JSON (application/json)。強烈建議在請求中使用 Content-type。
Accept - 此標頭用於指定伺服器,客戶端可以理解的資料型別列表,以便伺服器使用這些資料型別傳送其響應。通常,您可以在此處傳送客戶端接受的 MIME 資料型別列表,並以冒號分隔。
雖然在 CouchDB 的查詢中不需要使用 Accept,但強烈建議使用它以確保返回的資料可以由客戶端處理。
響應頭
這些是伺服器傳送的響應的標頭。這些標頭提供有關伺服器作為響應傳送的內容的資訊。
Content-type - 此標頭指定伺服器返回的資料的 MIME 型別。對於大多數請求,返回的 MIME 型別為 text/plain。
Cache-control - 此標頭建議客戶端如何處理伺服器傳送的資訊。CouchDB 大多數情況下返回 must-revalidate,這表示應在可能的情況下重新驗證資訊。
Content-length - 此標頭返回伺服器傳送的內容的長度(以位元組為單位)。
Etag - 此標頭用於顯示文件或檢視的修訂版。
狀態碼
以下是 http 標頭髮送的狀態碼及其描述的表格形式。
| 序號 | 狀態碼 & 描述 |
|---|---|
| 1 | 200 - OK 當請求成功完成時,將發出此狀態。 |
| 2 | 201 - Created 建立文件時將發出此狀態。 |
| 3 | 202 - Accepted 接受請求時將發出此狀態。 |
| 4 | 404 - Not Found 當伺服器無法找到請求的內容時,將發出此狀態。 |
| 5 | 405 - Resource Not Allowed 當使用的 HTTP 請求型別無效時,將發出此狀態。 |
| 6 | 409 - Conflict 每當發生任何更新衝突時,將發出此狀態。 |
| 7 | 415 - Bad Content Type 此狀態表示伺服器不支援請求的內容型別。 |
| 8 | 500 - Internal Server Error 每當請求中傳送的資料無效時,將發出此狀態。 |
HTTP URL 路徑
可以使用某些 url 路徑直接與資料庫互動。以下是此類 url 路徑的表格格式。
| 序號 | URL & 操作 |
|---|---|
| 1 | PUT /db 此 url 用於建立新的資料庫。 |
| 2 | GET /db 此 url 用於獲取有關現有資料庫的資訊。 |
| 3 | PUT /db/document 此 url 用於建立文件/更新現有文件。 |
| 4 | GET /db/document 此 url 用於獲取文件。 |
| 5 | DELETE /db/document 此 url 用於從指定的資料庫中刪除指定的文件。 |
| 6 | GET /db/_design/design-doc 此 url 用於獲取設計文件的定義。 |
| 7 | GET /db/_design/designdoc/_view/view-name 此 url 用於從指定資料庫中的設計文件訪問檢視 view-name。 |