Здесь https://habr.com/ru/post/590679/
Сначала простым языком объясняются такие термины как: формат представления данных, протокол (протокол передачи данных), транспорт (сетевой протокол).
Далее идёт речь про REST, подробно, с разбором принципов.
Понятно одно - есть противоречия в понимании этого термина.
Терминология
Формат представления данных
Давайте запомним из этой части статьи что XML и JSON — это форматы представления данных.
Протокол передачи данных
Протокол передачи данных — это набор соглашений, которые определяют обмен данными между различными программами. Эти соглашения задают единообразный способ передачи сообщений и обработки ошибок.
Транспорт
Транспорт — это подмножество сетевых протоколов, с помощью которых мы можем передавать данные по сети.
Такими протоколами могут быть, например: HTTP, FTP и др.
Протокол HTTP
HyperText Transfer Protocol (HTTP) — это протокол передачи данных. Изначально для передачи данных в виде гипертекстовых документов в формате HTML, сегодня — для передачи произвольных данных.
REST
Representational State Transfer — это архитектурный стиль взаимодействия компонентов распределённого приложения в сети. Архитектурный стиль – это набор согласованных ограничений и принципов проектирования, позволяющий добиться определённых свойств системы.
Назначение REST в том, чтобы придать проектируемой системе такие свойства как:
- Производительность,
- Масштабируемость,
- Гибкость к изменениям,
- Отказоустойчивость,
- Простота поддержки.
Принципы REST
6 принципов REST:
- Клиент-серверная архитектура
- Stateless
- Кэширование
- Единообразие интерфейса
- Layered system
- Code on demand
Далее эти шесть принципов разобраны подробнее.
Источник: https://mcs.mail.ru/blog/vvedenie-v-rest-apiЧто такое REST API
Representational State Transfer (REST) в переводе — это передача состояния представления. Технология позволяет получать и модифицировать данные и состояния удаленных приложений, передавая HTTP-вызовы через интернет или любую другую сеть.
Если проще, то REST API — это когда серверное приложение дает доступ к своим данным клиентскому приложению по определенному URL.
Базовые понятия Rest API — HTTP-протокол и API
Application Programming Interface (API), или программный интерфейс приложения — это набор инструментов, который позволяет одним программам работать с другими. API предусматривает, что программы могут работать в том числе и на разных компьютерах. В этом случае требуется организовать интерфейс API так, чтобы ПО могло запрашивать функции друг друга через сеть.
REST API позволяет использовать для общения между программами протокол HTTP (зашифрованная версия — HTTPS), с помощью которого мы получаем и отправляем большую часть информации в интернете.
Построение API-системы с использованием ресурсов, HTTP и различных запросов к ним как раз и будет Representational State Transfer (REST API) — передачей состояния представления.
Методы HTTP: основа работы REST API
Чтобы ресурс, который вы запрашиваете, выполнял нужные действия, используют разные способы обращения к нему.
В API-системе четыре классических метода:
- GET — метод чтения информации. GET-запросы всегда только возвращают данные с сервера, и никогда их не меняют и не удаляют. В бухгалтерском приложении GET /invoices вы открываете список всех счетов.
- POST — создание новых записей. В нашем приложении POST /invoices используется, когда вы создаете новый счет на оплату.
- PUT — редактирование записей. Например, PUT /invoices вы исправляете номер счета, сумму или корректируете реквизиты.
- DELETE — удаление записей. В нашем приложении DELETE /invoices удаляет старые счета, которые контрагенты уже оплатили.
Для чего используют REST API
Архитектура REST API — самое популярное решение для организации взаимодействия между различными программами. Так произошло, поскольку HTTP-протокол реализован во всех языках программирования и всех операционных системах, в отличие от проприетарных протоколов.
Чаще всего REST API применяют:
- Для связи мобильных приложений с серверными.
- Для построения микросервисных серверных приложений. Это архитектурный подход, при котором большие приложения разбиваются на много маленьких частей.
- Для предоставления доступа к программам сторонних разработчиков. Например, Stripe API позволяет программистам встраивать обработку платежей в свои приложения.
Источник https://systems.education/rest-api-postman
REST API — это программный интерфейс, построенный по принципам архитектуры REST.
REST — способ организации программной системы, построенный на принципах.
- Client-Server. Система должна быть разделена на клиентов и серверов.
- Stateless. Сервер не должен хранить какой-либо информации о клиентах. В запросе должна храниться вся необходимая информация для обработки запроса и, если необходимо, идентификации клиента.
- Cache․ Клиенты и промежуточные узлы могут кешировать ответы сервера.
- Uniform Interface. Единый интерфейс определяет взаимодействие между клиентами и серверами.
- Layered System. Допускается разделить систему на иерархию слоев, но с условием, что каждый компонент может видеть компоненты только непосредственно следующего слоя.
- Code-On-Demand (опционально). Возможно выполнение кода на стороне клиента.
- Слой клиента (интерфейс пользователя) — необходим для того, чтобы разные клиенты могли единообразно обращаться к бизнес-логике, реализованной на сервере.
- Слой логики (сервер) — обеспечивает выполнение бизнес-логики.
- Слой данных (база данных) — обеспечивает хранение данных. Сервер получает данные и использует их для осуществления бизнес-логики.
- Стартовая строка. Стартовая строка содержит метод, адрес (URI), а также используемую версию протокола HTTP
- Заголовки (Headers). Заголовки (Headers) прописаны в спецификации HTTP и состоят из имени и значения.
- Тело сообщения. Если сообщение подразумевает, что мы собираемся передавать какие-то данные, то после заголовка идет тело сообщения
Метод | Описание |
---|---|
GET | Используется для запроса содержимого указанного ресурса |
HEAD | Применяется для извлечения метаданных, проверки наличия ресурса |
PUT | Применяется для загрузки содержимого запроса на указанный в запросе URI. Используется, когда надо не создать ресурс, а поменять его значения (атрибуты) |
DELETE | Удаляет указанный ресурс |
POST | Применяется для передачи пользовательских данных заданному ресурсу. Например, как раз для передачи упомянутой нами выше картинки. |
PATCH | Позволяет только создание или полную замену документа |
- запись — это неупорядоченное множество пар ключ: значение, заключённое в «{ }».
- массив — это упорядоченное множество значений. Массив заключается в «[ ]».
- число (целое или вещественное).
- литералы true («истина»), false («ложь») и null.
- строка — это упорядоченное множество символов юникода, заключённое в двойные кавычки.
Комментариев нет:
Отправить комментарий