Что такое API простыми словами
Почему API называется интерфейсом
Принцип работы API можно представить как общение клиента и сервера. Запрос исходит от клиента, ответ посылает сервер. Например, сервер-метеослужба отправляет данные через API погодным приложениям, которые показывают их на телефоне.
API бывают:
-
У операционных систем — так программы получают данные и меняют настройки.
-
У языков программирования, чтобы разные функции взаимодействовали корректно.
-
В вебе, там они помогают сервисам общаться друг с другом. Если бы все API отключились, сервисы перестали бы работать в ту же секунду.
API считается интерфейсом, потому что скрывает внутреннее устройство взаимодействующих программ. Чтобы вызвать функцию стороннего приложения, не нужно знать, как оно работает. Это упрощает работу: программисту не приходится изучать чужой код, чтобы подключить его функции к своим.
Как работает API
Пользовательский интерфейс предназначен для человека, а API используют приложения. Пользователь вызывает API, который сообщает приложению, что нужно что-то сделать, затем приложение использует API, чтобы тоже попросить веб-сервер что-то сделать. API — это посредник между приложением и сервером. Каждый раз, когда приложение связывается с другим приложением или с сервером, используется API.
Например, посетитель ресторана (пользователь) заказывает у официанта (API) еду с кухни (сервер). Посетителю не нужно знать, как работает кухня, чтобы получить заказ. Можно даже не разбираться в особенностях блюд, достаточно показать на желаемое пальцем.
Приложению не нужно понимать, как работает веб-сервер, достаточно знать, как использовать API для получения данных, необходимых для отображения. А конечному пользователю не нужно понимать, как работают API, достаточно знать, как перемещаться по пользовательскому интерфейсу для выполнения своих задач.
Типы API
REST API
Большинство всех общедоступных API-интерфейсов используют REST из-за его высокой производительности, надёжности и возможности масштабирования.
REST, Representational State Transfer, применяют везде, где пользователю сайта или веб-приложения нужно предоставить данные с сервера. Данные, которые должны быть доставлены, отформатированы в HTML, JSON или XML.
Набор операций — это методы, доступные для HTTP, базовый протокол для того, как браузеры извлекают веб-сайты с серверов. Эти методы включают GET (чтение данных, например получение информации о погоде), POST (создание новых ресурсов, например публикацию сообщения), PUT (для обновления или замены данных), DELETE (для удаления данных).
Запрос REST API состоит из четырёх частей:
-
URI — унифицированный идентификатор ресурса, представляющий собой URL-адрес.
-
HTTP-метод — чаще всего либо GET, либо POST.
-
Headers, которые включают токены аутентификации, определяют формат данных ответа, устанавливают ограничения скорости и выполняют другие административные задачи.
-
Body — фактическая часть запроса.
SOAP API
SOAP, Simple Object Access Protocol, немного сложнее, чем REST, потому что требует больше информации о безопасности и о том, как он отправляет сообщения. Более того, данные должны быть написаны на языке XML в соответствии со строгими стандартами, иначе сервер вернёт ошибку.
Корректное SOAP-сообщение состоит из трёх частей:
-
Envelope, который определяет XML-документ как сообщение SOAP.
-
Header, который содержит атрибуты сообщения.
-
Body — сообщение, которое передаёт веб-приложение. Оно может содержать запрос к серверу или ответ от него.
API браузера
Браузер способен создавать широкий спектр пользовательских интерфейсов, таких как воспроизведение музыки, отображение сложных анимаций, реакция на ввод с помощью мыши или клавиатуры. Браузер предоставляет веб-разработчикам контроль над этими возможностями через API браузера, использующие JavaScript для манипулирования HTML.
iOS и Android API
Подобно API-интерфейсам браузера, каждая мобильная платформа имеет набор API-интерфейсов, который предоставляет разработчикам инструменты создания возможностей для пользователей. Разработчики приложений используют эти API для передачи данных на устройства, использования камеры, воспроизведения музыки или выполнения других функций.
Как вызвать API
Напрямую система может вызывать как функции внутри себя, так и методы другой программы. Во втором случае приложение может отправить запрос на получение данных из другого приложения. Метод также вызывают вручную, чтобы протестировать работоспособность системы, не трогая графический интерфейс.
Косвенный вызов API производит пользователь, работая с графическим интерфейсом. Например, щёлкая по кнопке «Создать новую вкладку» в браузере, пользователь вызывает в API функции, результат которых — появление новой вкладки.