Попробуем разобраться, что же это такое на самом деле и какие есть другие варианты, если не REST…..

1. REST API (также известный как RESTful API) API, который соответствует ограничениям архитектурного стиля REST и позволяет взаимодействовать с веб-службами RESTful. REST означает передачу репрезентативного состояния.

2. REST — это набор архитектурных ограничений, а не протокол или стандарт. Разработчики API могут реализовать REST различными способами.
Когда клиентский запрос выполняется через RESTful API, он передает представление о состоянии ресурса запрашивающей стороне или конечной точке.

3. Ресурсы, передаваемые в REST, могут быть выполнены в различных форматах: JSON (нотация объектов Javascript), HTML, XLT, Python, PHP или обычный текст.

4. Эти представления ресурсов или наборов ресурсов делаются доступными для обнаружения с помощью метода, известного как гипермедиа. Гипермедиа является основой REST и, по сути, представляет собой просто концепцию предоставления ссылок на другие ресурсы.

5. Чтобы API считался RESTful, он должен соответствовать следующим критериям: 1) Архитектура клиент-сервер с запросами, управляемыми через HTTP. 2) Связь клиент-сервер без сохранения состояния, что означает, что информация о клиенте не сохраняется между запросами GET, а каждый запрос является отдельным и не связанным. 3) Многоуровневая система, которая организует каждый тип серверного компонента в иерархии, невидимые для клиента.

6. До REST большинство веб-API были в формате RPC. RPC означает удаленные процедурные вызовы. Все основные современные языки программирования, которые используются для создания и использования API-интерфейсов, используют процедуры в качестве своей центральной организационной конструкции, поэтому процедуры также десятилетиями были доминирующей моделью для разработки и реализации распределенных API-интерфейсов в форме удаленных вызовов процедур (RPC).

7. API создается путем определения общедоступных методов; затем методы вызываются с аргументами. RPC — это просто набор функций, но в контексте HTTP API это влечет за собой размещение метода в URL-адресе и аргументов в строке или теле запроса (в каком-то формате, например XML).

8. Одним из основных стандартов RPC API является SOAP (простой протокол доступа к объектам). Поскольку SOAP — это протокол, он следует строгим стандартам, чтобы разрешить связь между клиентом и сервером. SOAP использует для обмена информацией только XML.

9. При использовании SOAP клиентам необходимо иметь много информации о веб-службе, которая передается с помощью файла WSDL. Этот файл содержит необходимую информацию о том, что делает веб-служба, в дополнение к местоположению веб-службы (например, полная функция, определенная в XML). Следовательно, требовалось больше пропускной способности

10. Форматы RPC все еще используются в различных случаях. Некоторые варианты использования требуют выполнения действий/процедур, и, следовательно, RPC лучше подходит для этих сценариев. Кроме того, SOAP обеспечивает большую безопасность и, следовательно, используется в транзакциях с банковскими счетами/кредитными картами.