Что такое API сайта или приложения

API — это набор протоколов, подпрограмм и других инструментов для создания сайтов или приложений. API регламентирует, как клиент и сервер могут взаимодействовать друг с другом.

DNS scheema

API помогает отделить одно приложение от другого, находясь между системами. API накладывает свои правила на запрос клиента и ответ от сервера. Благодаря этому приложения работают согласованно и данные защищены с обеих сторон.

Что такое REST API

REST API — это регламент, по которому веб-приложения взаимодействуют с сервером. Название этой технологии состоит из двух компонентов:

  1. REST (Representational State Transfer) — технология создания API на основе протокола HTTP;
  2. API (RESTful) — код для взаимодействия приложений.

Перед тем как начать пользоваться REST API, нужно проверить код по семи критериям:

  1. Client-Server — отделение клиента от сервера. Клиент, который создает API-соединение  — это пользовательский интерфейс: поисковая строка или кнопка. В RESTful код запроса остаётся у клиента, а код для доступа к данным — на сервере. Благодаря этому легче перенести пользовательский интерфейс на другую платформу;
  2. Cacheable — кэшируемость. В запросе к серверу должна содержаться информация о кэшировании данных в буфере. Если указано, что данные должны кэшироваться, клиент может запрашивать данные из буфера;
  3. Uniform Interface — единство интерфейса. Все данные должны запрашиваться с одного URL стандартными протоколами;
  4. Stateless — отсутствие записи состояния клиента. Сервер не должен хранить информацию о предыдущих действиях пользователя. В свою очередь клиент должен включать в запрос только данные, которые нужны для получения ответа от сервера;
  5. Code on Demand — предоставление кода по запросу. Сервер может отправлять код клиенту (в качесиве примера: скрипт для включения музыки);
  6. Layered System — многоуровневость системы. Серверы могут располагаться на разных уровнях. Однако взаимодействие происходит только между соседними устройствами;
  7. Starting with the Null Style — клиент должен иметь доступ только к одной точке входа. Дальнейшую обработку выполняет сервер.

Чаще всего передача данных по REST API работает на основе протокола HTTP. Он использует четыре HTTP-метода, которые позволяют произвести подключение по API и взаимодействовать с объектами на сервере:

  • GET, чтобы получить список объектов;
  • DELETE, чтобы удалить данные;
  • POST, чтобы добавить или заменить данные;
  • PUT для регулярного обновления данных.

Второе название этих методов — идентификаторы CRUD. Это аббревиатура, образованная от четырёх действий: создать (create), прочитать (read), обновить (update) и удалить (delete).

DNS scheema

Что такое SOAP API

SOAP — это протокол, по которому веб-приложения взаимодействуют между собой или с клиентом.

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 — дополнительных сведений.
DNS scheema

Чем отличается 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

Удачной работы! Если возникнут вопросы - напишите нам, пожалуйста, тикет из панели управления хостингом, раздел «Помощь и поддержка».