Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
Что такое API и зачем он нуженСкачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
Введение в урокВ этом уроке вы узнаете, как приложения общаются друг с другом, что такое API и для чего нужно его изучать.
Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
Что такое клиент-серверное взаимодействие и как оно работаетПосетители ходят в ресторан из-за еды, которую готовят на кухне, но санитарные правила запрещают им напрямую пройти к шеф-повару и сделать заказ. На помощь посетителям придёт официант, который выслушает их, запишет заказ и передаст его на кухню.
Повара учитывают пожелания к заказу (например убирают из блюда ингредиент, на который у посетителя аллергия) и выполняют его, а официант возвращается к посетителям из кухни с уже готовой едой. Повару известно лишь то, что заказ был, а для кого он предназначен, знает только официант. В мире IT подобное взаимодействие называется клиент-серверным.
✅ Клиент-серверное взаимодействие — это способ общения приложений с помощью обмена запросами и ответами. Так они предоставляют друг другу различные данные
Клиент-серверное взаимодействие, как следует из названия, подразумевает распределение ролей: есть клиент и есть сервер. В аналогии с рестораном клиент — это официант, он получает от посетителя (пользователя) заказ (запрос) и передаёт его кухне. Кухня — это сервер, она обрабатывает заказ и выдаёт готовое блюдо (ответ), которое затем посетителю приносит официант.
Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
Как это работает в IT? Например, пользователям, которые заходят на веб-сайт интернет-магазина посуды, нужно авторизоваться для того, чтобы оформить заказ. Клиент в данном случае — это веб-браузер, через который они выходят в интернет. Клиент (браузер) собирает информацию и передаёт её на сервер, который обрабатывает её и принимает решение — предоставить пользователю доступ в личный кабинет или нет. Какое решение принял сервер, пользователь узнает от клиента, который, например, перенаправит в личный кабинет. Для того чтобы на сайте интернет-магазина появились отзывы из Яндекс Маркета, приложениям тоже потребуется обменяться данными.Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
Что такое APIВернёмся в ресторан. Что будет, если посетитель рыбного заведения попросит что-то мясное? Повар всё равно должен приготовить заказанное блюдо? Мы ведь по-прежнему взаимодействуем с официантом и «используем» его как связного между нами и поваром.
Даже если посетитель попросит мясо в рыбном ресторане, повар вправе отказать ему, потому что мясных блюд нет в меню. Тогда какую роль в цепочке «посетитель — официант — кухня» играет меню? В данном случае это обязательство, которое гарантирует, что повар приготовит любое блюдо из указанного списка. В мире IT роль меню играет API.
✅ API (Application Programming Interface или программный интерфейс приложения) — это описание способа взаимодействия приложений, который позволяет одному приложению использовать функции другого. Другими словами, API — это контракт, который сервер предоставляет клиенту: «Ко мне можно обращаться в определённой форме, я обязуюсь совершить заявленные действия и выдать результат запроса»
Меню позволяет посетителю ознакомиться с тем, что кухня может предложить ему, и выбрать нужный вариант. API тоже работает как перечень действий, которые сервер (в случае с нашей задачей — Яндекс Маркет) может выполнить для своего клиента (например, интернет-магазина посуды).
Что такое Web API
Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
Точки общественного питания бывают разными: рестораны (мясные, рыбные), пиццерии, закусочные, кофейни, кондитерские и другие. В целом принцип обслуживания клиентов у них одинаковый, но бывают и свои тонкости. В некоторых кофейнях, например, посетителям требуется сделать заказ у кассы и там же его забрать. Посетители об этом знают, и не станут ждать за столиком, пока к ним подойдёт официант. Так же и с API: приложениям, которые собираются обмениваться данными, нужно договориться, по каким правилам взаимодействовать друг с другом.Если общение происходит в сети Интернет, то, как правило, клиент там — веб-браузер, а сервер — веб-сервер (так называется сервер, который принимает HTTP-запросы от клиентов и выдаёт им HTTP-ответы, но об этом позже). В этом случае API, то есть контракт, по которому они взаимодействуют, называется Web API.
Клиент и сервер общаются между собой даже тогда, когда вы проходите этот урок! Вот как это происходит:
- Вы открываете на компьютере веб-браузер и вводите адрес, например: https://practicum.yandex.ru/.
- Веб-браузер составляет запрос к веб-серверу в соответствии с Web API (потому что веб-браузер и веб-сервер взаимодействуют через Интернет).
- Запрос передаётся веб-серверу.
- Веб-сервер считывает запрос.
- Веб-сервер даёт ответ на полученный запрос.
- Ответ веб-сервера передаётся веб-браузеру через сеть Интернет.
- Веб-браузер считывает ответ.
- Веб-браузер отображает главную страницу Яндекс Практикума на вашем компьютере.
Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
Как всё это связано с задачей проектной команды — добавить отзывы из Яндекс Маркета на сайт интернет-магазина посуды? Яндекс Маркет предоставляет интернет-магазинам описание своего Web API. Его-то системный аналитик и изучит, чтобы понять, потребуется ли проектной команде менять интерфейс сайта интернет-магазина посуды для интеграции с Яндекс Маркетом.