Учебники

CouchDB — HTTP API

Используя заголовки HTTP-запроса, вы можете общаться с CouchDB. С помощью этих запросов мы можем извлекать данные из базы данных, сохранять данные в базе данных в форме документов, а также просматривать и форматировать документы, хранящиеся в базе данных.

Форматы HTTP-запросов

При общении с базой данных мы будем использовать различные форматы запросов, такие как get, head, post, put, delete и copy. Для всех операций в CouchDB входные данные и выходные структуры данных будут в форме объекта JavaScript Object Notation (JSON).

Ниже приведены различные форматы запросов протокола HTTP, используемые для связи с CouchDB.

  • GET — этот формат используется для получения определенного элемента. Чтобы получить разные предметы, вы должны отправить конкретные шаблоны URL. В CouchDB, используя этот запрос GET, мы можем получить статические элементы, документы базы данных и конфигурацию, а также статистическую информацию в форме документов JSON (в большинстве случаев).

  • HEAD — метод HEAD используется для получения HTTP-заголовка запроса GET без тела ответа.

  • POST — почтовый запрос используется для загрузки данных. В CouchDB, используя запрос POST, вы можете устанавливать значения, загружать документы, устанавливать значения документов, а также запускать определенные административные команды.

  • PUT — используя запрос PUT, вы можете создавать новые объекты, базы данных, документы, представления и проектные документы.

  • УДАЛИТЬ — Используя запрос УДАЛИТЬ, вы можете удалять документы, виды и документы дизайна.

  • COPY — используя метод COPY, вы можете копировать документы и объекты.

GET — этот формат используется для получения определенного элемента. Чтобы получить разные предметы, вы должны отправить конкретные шаблоны URL. В CouchDB, используя этот запрос GET, мы можем получить статические элементы, документы базы данных и конфигурацию, а также статистическую информацию в форме документов JSON (в большинстве случаев).

HEAD — метод HEAD используется для получения HTTP-заголовка запроса GET без тела ответа.

POST — почтовый запрос используется для загрузки данных. В CouchDB, используя запрос POST, вы можете устанавливать значения, загружать документы, устанавливать значения документов, а также запускать определенные административные команды.

PUT — используя запрос PUT, вы можете создавать новые объекты, базы данных, документы, представления и проектные документы.

УДАЛИТЬ — Используя запрос УДАЛИТЬ, вы можете удалять документы, виды и документы дизайна.

COPY — используя метод COPY, вы можете копировать документы и объекты.

Заголовки HTTP-запросов

Заголовки HTTP должны быть предоставлены, чтобы получить правильный формат и кодировку. Отправляя запрос на сервер CouchDB, вы можете отправлять заголовки запроса Http вместе с запросом. Ниже приведены различные заголовки запроса Http.

  • Content-type — этот заголовок используется для указания типа содержимого данных, которые мы предоставляем серверу вместе с запросом. В основном тип контента, который мы отправляем вместе с запросом, будет MIME-тип или JSON (application / json). Использование Content-type по запросу настоятельно рекомендуется.

  • Принять — этот заголовок используется для указания сервера, списка типов данных, которые клиент может понять, чтобы сервер отправлял свой ответ, используя эти типы данных. Как правило, здесь вы можете отправить список типов данных MIME, которые принимает клиент, через двоеточие.

    Хотя использование Accept в запросах CouchDB не требуется, настоятельно рекомендуется убедиться, что возвращенные данные могут быть обработаны клиентом.

Content-type — этот заголовок используется для указания типа содержимого данных, которые мы предоставляем серверу вместе с запросом. В основном тип контента, который мы отправляем вместе с запросом, будет MIME-тип или JSON (application / json). Использование Content-type по запросу настоятельно рекомендуется.

Принять — этот заголовок используется для указания сервера, списка типов данных, которые клиент может понять, чтобы сервер отправлял свой ответ, используя эти типы данных. Как правило, здесь вы можете отправить список типов данных MIME, которые принимает клиент, через двоеточие.

Хотя использование Accept в запросах CouchDB не требуется, настоятельно рекомендуется убедиться, что возвращенные данные могут быть обработаны клиентом.

Заголовки ответа

Это заголовки ответа, отправленного сервером. Эти заголовки предоставляют информацию о контенте, отправляемом сервером в качестве ответа.

  • Content-type — этот заголовок указывает MIME-тип данных, возвращаемых сервером. Для большинства запросов возвращаемый тип MIME — это text / plain.

  • Cache-control — этот заголовок предлагает клиенту обработать информацию, отправленную сервером. CouchDB в основном возвращает must-revalidate, который указывает, что информация должна быть проверена заново, если это возможно.

  • Длина содержимого — этот заголовок возвращает длину содержимого, отправляемого сервером, в байтах.

  • Etag — этот заголовок используется для отображения ревизии документа или представления.

Content-type — этот заголовок указывает MIME-тип данных, возвращаемых сервером. Для большинства запросов возвращаемый тип MIME — это text / plain.

Cache-control — этот заголовок предлагает клиенту обработать информацию, отправленную сервером. CouchDB в основном возвращает must-revalidate, который указывает, что информация должна быть проверена заново, если это возможно.

Длина содержимого — этот заголовок возвращает длину содержимого, отправляемого сервером, в байтах.

Etag — этот заголовок используется для отображения ревизии документа или представления.

Коды состояния

Ниже приведена табличная форма кода состояния, отправляемого заголовком http, и его описание.

Sr.No. Код состояния и описание
1

200 — ОК

Этот статус будет выдан после успешного выполнения запроса.

2

201 — Создано

Этот статус будет выдан при создании документа.

3

202 — принято

Этот статус будет выдан, когда запрос будет принят.

4

404 — не найден

Этот статус будет выдан, когда сервер не сможет найти запрошенный контент.

5

405 — Ресурс не разрешен

Этот статус выдается, когда используемый тип HTTP-запроса недействителен.

6

409 — Конфликт

Этот статус выдается каждый раз, когда возникает конфликт обновления.

7

415 — неверный тип контента

Этот статус указывает на то, что запрошенный тип контента не поддерживается сервером.

8

500 — Внутренняя ошибка сервера

Этот статус выдается всякий раз, когда данные, отправленные в запросе, являются недействительными.

200 — ОК

Этот статус будет выдан после успешного выполнения запроса.

201 — Создано

Этот статус будет выдан при создании документа.

202 — принято

Этот статус будет выдан, когда запрос будет принят.

404 — не найден

Этот статус будет выдан, когда сервер не сможет найти запрошенный контент.

405 — Ресурс не разрешен

Этот статус выдается, когда используемый тип HTTP-запроса недействителен.

409 — Конфликт

Этот статус выдается каждый раз, когда возникает конфликт обновления.

415 — неверный тип контента

Этот статус указывает на то, что запрошенный тип контента не поддерживается сервером.

500 — Внутренняя ошибка сервера

Этот статус выдается всякий раз, когда данные, отправленные в запросе, являются недействительными.

HTTP URL Paths

Существуют определенные URL-пути, с помощью которых вы можете напрямую взаимодействовать с базой данных. Ниже приведен табличный формат таких URL-путей.

PUT / дБ

Этот URL-адрес используется для создания новой базы данных.

GET / дБ

Этот URL-адрес используется для получения информации о существующей базе данных.

PUT / db / document

Этот URL-адрес используется для создания документа / обновления существующего документа.

GET / db / document

Этот URL-адрес используется для получения документа.

УДАЛИТЬ / DB / документ

Этот URL-адрес используется для удаления указанного документа из указанной базы данных.

GET / db / _design / design-doc

Этот URL используется, чтобы получить определение проектного документа.

GET / db / _design / designdoc / _view / view-name

Этот URL-адрес используется для доступа к представлению view-name из проектного документа из указанной базы данных.