Цифровой садик - приветственная

Цифровой садик - приветственная | Полный список всего, что тут есть | RSS | Подписаться через follow.it

23.09.2024

Api

https://ru.wikipedia.org/wiki/API

API (МФА: [ˌeɪ.piˈaɪ]; аббревиатура от англ. application programming interface) — набор способов взаимодействия одной компьютерной программы с другими. Часто реализуется отдельной программной библиотекой или сервисом операционной системы. Используется обычно программистами при написании приложений. Позволяет общаться с программой, которая предоставляет этот интерфейс, как с «чёрным ящиком» — не знаю, что происходит внутри, но результат моего действия должен быть вот таким.

В повседневной «некомпьютерной» жизни с чем-то похожим на API мы сталкиваемся при взаимодействии с организациями, с бюрократией. «Напиши заявление по форме такой-то и отправь по такому-то адресу, в такое-то окно или кабинет, чтобы получить ответ по форме такой-то либо отказ по форме такой-то». И подборки образцов заполнения заявлений, запросов, прочих подаваемых документов близ окошек для подачи. Скорость реагирования в этих случаях, понятно, «человеческая», а не компьютерная. Процессы внутри мы не видим, хотя можно догадываться — тот же «чёрный ящик». И пожалуй, было бы неплохо обнаружить внятные исчерпывающие справочники для этих интерфейсов, такие, как бывают в айтишной документации.

Сейчас, когда говорят об API, обычно подразумевают Web API, интерфейсы, к которым можно обращаться через интернет. По нынешним временам можно столкнуться с SOAP или XML-RPC (и это, скорее всего, будет наследие прошлого) и запросами в XML, c RESTful API, где запросы и ответы, вероятно, будут в формате json, и это наше светлое настоящее, или с gRPC, где сообщения ходят в формате protocol buffers (тоже настоящее, но более редкое, для особых случаев).

REST (от англ. REpresentational State Transfer — «передача репрезентативного состояния» или «передача „самоописываемого“ состояния») — архитектурный стиль взаимодействия компонентов распределённого приложения в сети. Стандарта для RESTful WEB API нет, в отличие от SOAP (http://www.w3.org/TR/soap/).

В случае RESTful API:

Есть дивной красоты идея Static api, где предлагается разложить по каким надо адресам json-чики или что там ещё для скачивания, таким образом сымитировать api только для чтения.

Ссылки

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

Про REST-клиенты

      # -*- restclient -*-
#
# Gets  all Github APIs, formats JSON, shows response status and headers underneath.
# Also sends a User-Agent header, because the Github API requires this.
#
GET https://api.github.com
User-Agent: Emacs Restclient

Ну, картинку из орга не показывает, а так да, есть такое.

#
# It can even show an image!
#
GET http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png

SOAP и xml-rpc

XML-RPC (от англ. eXtensible Markup Language Remote Procedure Call — XML-вызов удалённых процедур) — стандарт/протокол вызова удалённых процедур, использующий XML для кодирования своих сообщений и HTTP в качестве транспортного механизма. XML-RPC, как и любой другой интерфейс Remote Procedure Call (RPC), определяет набор стандартных типов данных и команд, которые программист может использовать для доступа к функциональности другой программы, находящейся на другом компьютере в сети. И там же в википедии пишут, что вроде как есть мнение, что xml-rpc никакой ценности не добавляет, xml как xml, тока многословнее – за ссылками на англоязычную страницу https://ru.wikipedia.org/wiki/XML-RPC

Есть еще json-rpc, https://en.wikipedia.org/wiki/JSON-RPC, но как-то исторически менее популярная тема.

SOAP — расширение xml-rpc, ставшее стандартом. Чаще всего используется поверх http, но может и поверх других протоколов прикладного уровня. Есть стандарт — http://www.w3.org/TR/soap/.


Если у вас есть мысли, комментарии, предложения или отклики по поводу этой страницы или этого цифрового сада в целом, напишите мне сообщение на agnessa@agnessa.pp.ru. Мне ооочень интересно!

Задонатить.


An IndieWeb Webring 🕸💍