Це насправді дуже широке питання. У самому основному сенсі, веб-API працює, коли клієнт (наприклад, веб-браузер) робить запит HTTP якогось типу на веб-сервер. Сервер розглядає цей запит, щоб з'ясувати, що хоче користувач, а потім повертає дані у певному форматі (наприклад, на сторінці), який клієнт потім перевіряє, щоб отримати те, що він хоче. Мова йде лише про єдині речі спільного веб-API; Я усвідомлюю, що це насправді не відповідає вашому запитанню, але я хотів дати причину, чому питання настільки широке.
Існують всілякі способи, за допомогою яких клієнт може відформатувати свій запит, або сервер міг відформатувати свою відповідь, і тому для того, щоб будь-який з них мав сенс, клієнт і сервер повинні погодити деякі основні правила. Взагалі кажучи, зараз існує два дуже загальні стилі, які звикають до подібних речей.
Віддалений виклик процедури (RPC)
В API стилю RPC зазвичай існує лише одна URL-адреса для всього API. Ви називаєте це, розміщуючи документ якогось типу, який містить інформацію про те, що ви хочете зробити, і сервер повертає документ, у якому є те, що ви хочете. У загальних обчислювальних термінах документ-запит зазвичай має ім'я функції та деякі аргументи.
Деякі стандарти цього стилю API включають XML-RPC та SOAP. Ці стандарти намагаються створити формат, який можна використовувати для опису викликів функцій, які ви здійснюєте, або навіть для опису всього API.
Представницький державний трансфер (REST)
У API стилю REST у вас не так багато URL-адреси для API, як простору імен : сервер або папка всередині сервера, де знаходиться багато різних об'єктів, і кожна URL-адреса в цьому просторі імен стає частиною API. Замість того , щоб говорити сервер , який ви хочете використовувати API, то URL повідомляє серверу , що ви хочете використовувати API на . Потім ви використовуєте метод HTTP та, можливо, орган запиту, щоб пояснити, що ви хочете зробити для цього об’єкта: GET (витягніть щось, що вже є), POST (створити щось нове), PUT (замініть те, що вже є) або ВІДКЛЮЧИТИ (позбутися від чогось, що вже є). Є кілька інших дієслів, якими ви можете скористатися, але це, безумовно, найбільш поширені.
Поки що я не згадував стандартних форматів для REST. Теоретично ви можете використовувати майже будь-який формат. HTTP вже передбачає, що потрібно сказати, що ви хочете зробити, і для чого ви хочете це зробити, тому формат тіла запиту може бути майже будь-яким: деяким поданням об’єкта, який ви хочете створити або замінити. Але на практиці автори REST, як правило, домовляються про формат, оскільки важко було б зрозуміти кожен можливий формат.