Давайте узнаем об интерфейсах прикладного программирования (API), которые необходимы для контролируемого раскрытия серверной части.
Что такое API?
API – это интерфейс. Это то, что было создано, чтобы помочь двум различным системам взаимодействовать друг с другом.
Функциональность API определяется независимо от фактической реализации поставщика. По сути, вам не нужно понимать всю реализацию приложения, чтобы взаимодействовать с ним через API. Это дает следующие преимущества:
- Он не раскрывает детали реализации тем, кто не должен иметь к ним доступ.
- API предоставляет стандартный способ доступа к приложению.
- Это значительно упрощает понимание того, как получить доступ к данным приложения.
Примеры 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.