Вам необходимо отделить идею API от взаимодействия между машинами или даже между процессами.
API - это просто определенный способ вызова / выполнения кода, который живет вне кода, над которым вы работаете,Это может быть локально внутри вашего приложения, например, использование классов Gson
или Jackson
в Java для работы с данными в формате JSON, создание меню в приложении C ++ с использованием библиотек Qt или GTK + или Win32 и т. Д. Или, возможно, межпроцессное взаимодействие.и запросы, такие как доступ к данным / функциям ядра в таких утилитах, как top
или iptables
, или между машинами может происходить обмен данными между удаленными компьютерами.
Тогда у вас есть промежуточный компьютер или междуобрабатывать каналы связи.Это могут быть две машины, говорящие взад и вперед, выполняющие запросы / ответы по протоколу (-ам) HTTP или даже через прямое соединение через сокет, или это может быть связь между процессами локальной машины.
Когда вы говорите оAPI является API-интерфейсом RESTful или API-интерфейсом SOAP, который начинает объединять все это и многое другое, определяя «шаблон» работы API.Например, истинный API RESTful использует HTTP-действия (GET, POST, PUT, DELETE) и коды состояния (200 OK, 204 OK получено и обработано, но данные ответа не отправляются, 404 ресурс не найден, 400 некорректно сформированный запрос и т. Д.) Дляпередать смысл.Довольно часто используемые нами веб-API больше похожи на REST, чем на REST.Аналогичные определения существуют для API на основе SOAP и т. Д. https://en.wikipedia.org/wiki/SOAP#Protocol_concepts