На самом деле это очень широкий вопрос. В самом простом смысле веб-API работает, когда клиент (например, веб-браузер) отправляет HTTP-запрос на веб-сервер. Сервер проверяет этот запрос, чтобы выяснить, что хочет пользователь, и затем возвращает данные в каком-то формате (например, странице), который клиент затем проверяет, чтобы получить то, что он хочет. Это единственное, что общего у Web API; Я понимаю, что это на самом деле не отвечает на ваш вопрос, но я хотел бы объяснить, почему этот вопрос настолько широк.
Существует множество способов, которыми клиент может отформатировать свой запрос или чтобы сервер мог отформатировать свой ответ, и поэтому для того, чтобы любой из них имел смысл, клиент и сервер должны согласовать некоторые основные правила. Вообще говоря, в настоящее время есть два очень общих стиля, которые используются для такого рода вещей.
Удаленный вызов процедур (RPC)
В API стиля RPC обычно есть только один URL для всего API. Вы вызываете это, отправляя документ какого-либо типа, который содержит информацию о том, что вы хотите сделать, и сервер возвращает документ, который имеет то, что вы хотите. В общих вычислительных терминах документ запроса обычно имеет имя функции и некоторые аргументы.
Некоторые стандарты для этого стиля API включают XML-RPC и SOAP. Эти стандарты пытаются создать формат, который можно использовать для описания вызовов функций, которые вы выполняете, или даже для описания всего API.
REpresentational State Transfer (REST)
В API стиля REST URL-адрес API-интерфейса у вас не так много, как пространство имен : сервер или папка внутри сервера, где находится множество различных объектов, и каждый URL-адрес в этом пространстве имен становится частью API. Вместо того , чтобы говорить сервер , который вы хотите использовать API, то URL сообщает серверу , что вы хотите использовать API на . Затем вы используете метод HTTP и, возможно, тело запроса, чтобы объяснить, что вы хотите сделать с этим объектом: GET (получить что-то, что уже есть), POST (создать что-то новое), PUT (заменить что-то, что уже есть) или УДАЛИТЬ (избавиться от чего-то, что уже есть). Есть несколько других глаголов, которые вы можете использовать, но они являются наиболее распространенными.
До сих пор я не упомянул стандартные форматы для REST. Теоретически, вы можете использовать практически любой формат. HTTP уже предоставляет возможность сказать, что вы хотите сделать и что вы хотите сделать, поэтому формат тела запроса может быть практически любым: некоторое представление объекта, который вы хотите создать или заменить. Но на практике авторы REST в любом случае имеют тенденцию согласовывать формат, потому что было бы трудно разобраться во всех возможных форматах.