В статье мы расскажем:
- что такое API,
- что такое REST и SOAP,
- какие типы ПО работают с API.
Что такое API сайта или приложения
API (Application Programming Interface, или программный интерфейс приложения) — это набор протоколов, подпрограмм и других инструментов для создания сайтов или приложений. API регламентирует, как клиент и сервер могут взаимодействовать друг с другом.
API: что это такое и как он работает
API помогает отделить одно приложение от другого, выступая «прослойкой» между системами. API накладывают свои правила на запрос клиента или ответ от сервера. Благодаря этому приложения работают согласованно и данные защищены с обеих сторон.
Ниже мы расскажем, какими бывают стандарты написания API.
Что такое REST API
REST API — это регламент, по которому веб-приложения взаимодействуют с сервером. Название этой технологии состоит из двух компонентов:
- REST (Representational State Transfer) — технология создания API на основе протокола HTTP.
- API — код для взаимодействия приложений.
Иногда REST API называют RESTful.
Перед тем как начать пользоваться REST API, нужно проверить код по семи критериям:
- Client-Server — отделение клиента от сервера. Клиент, который создает API-соединение, — это пользовательский интерфейс: например, поисковая строка или кнопка. В RESTful код запроса остаётся у клиента, а код для доступа к данным — на сервере. Благодаря этому легче организовать API, а также перенести пользовательский интерфейс на другую платформу.
- Uniform Interface — единство интерфейса. Все данные должны запрашиваться с одного URL стандартными протоколами (чаще всего HTTP).
- Cacheable — кэшируемость. В запросе к серверу должна содержаться информация о кэшировании данных в буфере (хранилище). Если указано, что данные должны кэшироваться, клиент может запрашивать данные из буфера.
- Stateless — отсутствие записи состояния клиента. Сервер не должен хранить информацию о предыдущих действиях пользователя. В свою очередь клиент должен включать в запрос только те данные, которые нужны для получения ответа от сервера.
- Starting with the Null Style — начало от нуля. Клиент должен иметь доступ только к одной точке входа. Дальнейшую обработку выполняет сервер.
- Layered System — многоуровневость системы. Серверы могут располагаться на разных уровнях. Однако взаимодействие происходит только между соседними устройствами.
- Code on Demand — предоставление кода по запросу. Сервер может отправлять код клиенту (например, скрипт для воспроизведения музыки).
Чаще всего передача данных по REST API работает на основе протокола HTTP. Он использует четыре HTTP-метода, которые позволяют инициировать подключение по API и взаимодействовать с объектами на сервере:
- GET, чтобы получить список объектов,
- DELETE, чтобы удалить данные,
- POST, чтобы добавить или заменить данные,
- PUT для регулярного обновления данных.
Второе название этих методов — идентификаторы CRUD. Это аббревиатура, образованная от четырёх действий: создать (create), прочитать (read), обновить (update) и удалить (delete).
Открытый доступ к API: что это такое
Что такое SOAP API
SOAP (Simple Object Access Protocol, или простой протокол доступа к объектам) — это протокол, по которому веб-приложения взаимодействуют между собой или с клиентом.
SOAP API — это веб-сервис для обмена сообщениями между клиентом и сервером по протоколу SOAP. Он может работать с протоколами SMTP, FTP, HTTP и HTTPS.
Сообщение SOAP состоит из следующих элементов:
- Envelope (конверт) — определяет передаваемый документ как SOAP-сообщение. Это происходит благодаря пространству имён xmlns:soap=«http://www.w3.org/2003/05/soap-envelope/. Если на этапе определения будет указан другой адрес, сервер вернёт ошибку.
Header (заголовок) — здесь указаны атрибуты приложения (например, аутентификация). Заголовок может включать в себя три атрибута:
- mustUnderstand — указывает, в каком порядке нужно обработать заголовок: обязательном (значение 1) или опциональном (значение 0);
- actor — задаёт узел, на котором должен обрабатываться заголовок;
- encodingStyle — устанавливает кодировку.
- Body (тело) — само сообщение. Оно хранит в себе запрос или ответ от сервера.
Fault (ошибка) — входит в состав сообщения, только если возникла ошибка при обработке. Состоит из четырёх полей:
- faultcode — кода ошибки,
- faultstring — описания проблемы,
- faultactor — данных о компоненте программы, который вызвал ошибку,
- detail — дополнительных сведений.
Интеграция по API: что это и зачем она нужна
Чем отличается REST от SOAP
SOAP — это протокол, который имеет официальные правила. Он представляет собой расширение XML-RPC — стандарта удалённого доступа к приложению. XML-RPC использует XML для кодировки запроса и HTTP для транспортировки.
REST — это набор ограничений. При написании кода разработчик может учитывать эти ограничения, однако это не помешает гибкой настройке инфраструктуры. Это связано с тем, что RESTful не имеет официального стандарта.
Если SOAP — это чёткий регламент с разрешениями и ограничениями, то REST состоит только из ограничений.
Какие приложения могут работать с API
API включает в себя:
- действие, которое можно выполнить,
- входные данные,
- выходные данные.
API могут работать с разными типами программ: операционными системами, графическими и звуковыми интерфейсами, а также аутентификационными системами.
Для операционных систем популярны модули:
- Cocoa,
- Linux Kernel API,
- OS/2 API,
- Windows API.
Для графических и звуковых интерфейсов часто используются:
- DirectDraw/Direct3D и DirectMusic/DirectSound — части DirectX,
- SFML,
- OpenVG,
- SDL,
- Vulkan,
- Mantle,
- OpenAL.
Аутентификационные системы используют BioAPI и PAM.
Для чего нужен Web API
Web API — это тип программного интерфейса, который используется только в веб-программировании. Веб API содержит набор запросов HTTP и определяет структуру HTTP-ответа. Имеет схожий функционал с веб-службами. Однако есть отличия:
- веб-службы работают со стандартами XML, WSDL, UDDI и JSON;
- Web API как правило выражает ответ от сервера в форматах XML или JSON.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊