使用HTTP請(qǐng)求頭,你可以使用CouchDB溝通。通過這些要求,我們可以在以文件的形式將數(shù)據(jù)庫從數(shù)據(jù)庫檢索數(shù)據(jù),存儲(chǔ)數(shù)據(jù),我們可以看到,以及格式存儲(chǔ)在數(shù)據(jù)庫中的文件。
而與數(shù)據(jù)庫通信,我們將使用不同的請(qǐng)求格式,如GET,HEAD,POST,PUT,刪除和復(fù)制。在CouchDB的所有操作,輸入數(shù)據(jù)和輸出數(shù)據(jù)結(jié)構(gòu)將在JavaScript對(duì)象符號(hào)(JSON)對(duì)象的形式。
以下是HTTP協(xié)議的不同要求的格式用來使用CouchDB溝通。
GET -這種格式是用來獲取特定項(xiàng)目。為了得到不同的項(xiàng)目,你必須發(fā)送特定的URL模式。在使用這種GET請(qǐng)求CouchDB的,我們可以得到靜態(tài)項(xiàng)目,數(shù)據(jù)庫文件和配置,并在JSON文件的形式統(tǒng)計(jì)信息(在大多數(shù)情況下)。
HEAD - HEAD方法用于獲取一個(gè)GET請(qǐng)求的HTTP頭無響應(yīng)的主體。
POST -發(fā)布請(qǐng)求被用來上傳的數(shù)據(jù)。在使用POST請(qǐng)求CouchDB的,你可以設(shè)置值,上傳文件,設(shè)置文件值,還可以啟動(dòng)特定的管理命令。
PUT -使用PUT請(qǐng)求,可以創(chuàng)建新的對(duì)象,數(shù)據(jù)庫,文檔,視圖和設(shè)計(jì)文檔。
DELETE -使用delete要求,您可以刪除文檔,視圖和設(shè)計(jì)文檔。
COPY -使用復(fù)制的方法,你可以復(fù)制文件和對(duì)象。
HTTP頭應(yīng)供給至得到正確的格式和編碼。發(fā)送請(qǐng)求到CouchDB的服務(wù)器,可以與請(qǐng)求一起發(fā)送HTTP請(qǐng)求頭。以下是不同的HTTP請(qǐng)求頭。
Content-type -這個(gè)頭部是用來指定我們提供給服務(wù)器的請(qǐng)求一起的數(shù)據(jù)的內(nèi)容類型。主要是我們一起發(fā)送內(nèi)容與請(qǐng)求的類型將是MIME類型或JSON(應(yīng)用/ JSON)。強(qiáng)烈推薦使用上的請(qǐng)求內(nèi)容類型。
Accept-這頭部用于指定服務(wù)器,數(shù)據(jù)類型的客戶端可以理解的列表,以便服務(wù)器將發(fā)送使用這些數(shù)據(jù)類型,它的響應(yīng)。一般來說在這里,您可以發(fā)送客戶接受MIME數(shù)據(jù)類型,用冒號(hào)分隔的列表。
雖然,利用接受CouchDB中的查詢是不需要的,強(qiáng)烈建議確保返回的數(shù)據(jù)可以由客戶端來處理。
這些是由服務(wù)器發(fā)送的響應(yīng)的頭部。這些頭部文件提供了有關(guān)由服務(wù)器發(fā)送響應(yīng)為內(nèi)容的信息。
Content-type - 這頭指定的MIME類型由服務(wù)器返回的數(shù)據(jù)。對(duì)于大多數(shù)的請(qǐng)求,返回的MIME類型為text / plain的。
Cache-control - 這頭表明有關(guān)處理由服務(wù)器發(fā)送的信息的客戶端。 CouchDB的大多是返回的必重新驗(yàn)證,這表明信息應(yīng)盡可能進(jìn)行重新驗(yàn)證。
Content-length - 此頭返回由該服務(wù)器發(fā)送的,以字節(jié)為單位的內(nèi)容的長度。
ETAG - 這個(gè)頭是用來顯示一個(gè)文檔的修訂,或視圖。
以下為HTTP頭和它的描述發(fā)送的狀態(tài)代碼的表格形式。
200 ? OK | 當(dāng)請(qǐng)求成功完成時(shí),將會(huì)發(fā)出此狀態(tài)。 |
201 ? Created | 創(chuàng)建文檔時(shí)將發(fā)出此狀態(tài)。 |
202 ? Accepted | 當(dāng)接受請(qǐng)求時(shí),將發(fā)出此狀態(tài)。 |
404 ? Not Found | 當(dāng)服務(wù)器無法找到所請(qǐng)求的內(nèi)容時(shí),將發(fā)出此狀態(tài)。 |
405 ? Resource Not Allowed | 當(dāng)使用的HTTP請(qǐng)求類型無效時(shí),會(huì)發(fā)出此狀態(tài)。 |
409 ? Conflict | 每當(dāng)有任何更新沖突時(shí),都會(huì)發(fā)出此狀態(tài)。 |
415 ? Bad Content Type | 此狀態(tài)表示服務(wù)器不支持請(qǐng)求的內(nèi)容類型。. |
500 ? Internal Server Error | 當(dāng)請(qǐng)求中發(fā)送的數(shù)據(jù)無效時(shí),會(huì)發(fā)出此狀態(tài)。 |
有使用的,可以與數(shù)據(jù)庫直接交互的某些URL路徑。以下是此類URL路徑的表格格式。
網(wǎng)址 | 操作 |
---|---|
PUT / DB | 這個(gè)網(wǎng)址是用來創(chuàng)建一個(gè)新的數(shù)據(jù)庫。 |
GET / DB | 這個(gè)網(wǎng)址是用來獲取現(xiàn)有的數(shù)據(jù)庫中的信息。 |
PUT /db/document | 此URL用于創(chuàng)建文檔/更新現(xiàn)有的文件。 |
GET /db/document | 這個(gè)網(wǎng)址是用來獲取文檔。 |
DELETE /db/document | 這個(gè)網(wǎng)址是用來刪除指定的數(shù)據(jù)庫中指定的文件。 |
GET /db/_design/design-doc | 使用此URL獲得設(shè)計(jì)文件的定義。 |
GET /db/_design/designdoc/_view/view-name | 此URL用于從設(shè)計(jì)文件從指定的數(shù)據(jù)庫訪問視圖,視圖名。 |
更多建議: