Давайте узнаем об интерфейсах прикладного программирования (API), которые необходимы для контролируемого раскрытия серверной части.

Что такое API?

API – это интерфейс. Это то, что было создано, чтобы помочь двум различным системам взаимодействовать друг с другом.

Функциональность API определяется независимо от фактической реализации поставщика. По сути, вам не нужно понимать всю реализацию приложения, чтобы взаимодействовать с ним через API. Это дает следующие преимущества:

  1. Он не раскрывает детали реализации тем, кто не должен иметь к ним доступ.
  2. API предоставляет стандартный способ доступа к приложению.
  3. Это значительно упрощает понимание того, как получить доступ к данным приложения.

Примеры API: Google Maps API, Facebook API

Как работают API

API выступает в качестве посредника между коммуникациями между клиентом и сервером. Ниже показано, как происходит общение:

  • Клиент отправляет запрос на сервер API
  • Сервер API передает этот запрос
  • Если запрос правильно отформатирован, сервер запрашивает базу данных или выполняет действие в запросе.
  • Сервер форматирует ответ и отправляет его клиенту.
  • Затем клиент отображает ответ в соответствии с его реализацией.

Интернет-протоколы

Интернет-протокол (IP) — это протокол для отправки данных с одного компьютера на другой в Интернете. Этот IP-адрес однозначно идентифицирует каждый компьютер в Интернете. Существуют и другие интернет-протоколы, такие как;

  • Протокол управления передачей (TCP), который используется для передачи данных.
  • Протокол передачи гипертекста (HTTP), который используется для передачи текста и гиперссылок.
  • Протокол передачи файлов (FTP), который используется для передачи файлов между сервером и клиентом.

Когда вы работаете с веб-API, вы в основном сталкиваетесь с протоколом HTTP.

RESTful API

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

Когда клиентский запрос выполняется через RESTful API, он передает представление о состоянии ресурса в конечную точку. Эта информация или представление доставляется в одном из нескольких форматов через HTTP: JSON (обозначение объектов Javascript), HTML, XLT, Python, PHP или обычный текст. JSON является наиболее популярным форматом файлов, потому что он не зависит от языка, а также удобен для чтения как людьми, так и машинами.

Чтобы API считался RESTful, он должен соответствовать следующим принципам:

  • Единый интерфейс. Каждая архитектура REST должна иметь стандартизированный способ доступа к ресурсам данных и их обработки. Это включает в себя уникальные идентификаторы ресурсов (т. е. уникальные URL-адреса) и описательные сообщения в ответе сервера, которые описывают, как обрабатывать представление ресурса данных.
  • Без сохранения состояния.Каждый клиентский запрос автономен, поскольку серверу не нужно хранить какие-либо данные приложения, чтобы отвечать на последующие запросы.
  • Клиент-сервер: должна быть архитектура клиент-сервер, состоящая из клиентов, серверов и ресурсов, с запросами, управляемыми через HTTP.
  • Кэшируемая и многоуровневая система.Кэшируемые данные, упрощающие взаимодействие клиент-сервер, и многоуровневая система, организующая каждый тип сервера (отвечающие за безопасность, балансировку нагрузки и т. д.) иерархии, невидимые для клиента.

Заключение

После краткого введения в API у нас появилась идея, что когда клиенту нужно что-то из базы данных, нам нужен интерфейс, чтобы помочь выполнить этот запрос; и этот интерфейс является API.