HTML Diff
1 added 1 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>Определение</a></li>
1 <ul><li><a>Определение</a></li>
2 <li><a>Где встречается</a></li>
2 <li><a>Где встречается</a></li>
3 <li><a>Почему API - интерфейс</a></li>
3 <li><a>Почему API - интерфейс</a></li>
4 <li><a>Преимущества и недостатки</a></li>
4 <li><a>Преимущества и недостатки</a></li>
5 <li><a>Состав и принцип работы</a><ul><li><a>Интерфейс</a></li>
5 <li><a>Состав и принцип работы</a><ul><li><a>Интерфейс</a></li>
6 <li><a>Конечные точки</a></li>
6 <li><a>Конечные точки</a></li>
7 <li><a>Запросы и ответы</a></li>
7 <li><a>Запросы и ответы</a></li>
8 <li><a>Аргументы и параметры</a></li>
8 <li><a>Аргументы и параметры</a></li>
9 <li><a>Протоколы</a></li>
9 <li><a>Протоколы</a></li>
10 <li><a>Данные и их форматы</a></li>
10 <li><a>Данные и их форматы</a></li>
11 </ul></li>
11 </ul></li>
12 <li><a>Виды</a><ul><li><a>Web API</a><ul><li><a>REST</a></li>
12 <li><a>Виды</a><ul><li><a>Web API</a><ul><li><a>REST</a></li>
13 <li><a>SOAP</a></li>
13 <li><a>SOAP</a></li>
14 <li><a>GraphQL</a></li>
14 <li><a>GraphQL</a></li>
15 <li><a>RPC</a></li>
15 <li><a>RPC</a></li>
16 </ul></li>
16 </ul></li>
17 </ul></li>
17 </ul></li>
18 <li><a>Как вызвать</a></li>
18 <li><a>Как вызвать</a></li>
19 </ul><p>Компьютеры и иные современные гаджеты - сложные устройства. В них должны взаимодействовать не только операционные системы и драйверы, но и приложения/сервисы. В противном случае устройство не сможет выполнять те или иные операции.</p>
19 </ul><p>Компьютеры и иные современные гаджеты - сложные устройства. В них должны взаимодействовать не только операционные системы и драйверы, но и приложения/сервисы. В противном случае устройство не сможет выполнять те или иные операции.</p>
20 <p>Для реализации поставленной задачи используются системы API. Сегодня нужно будет познакомиться с ними получше. Предстоит не только разобраться в том, что собой представляет API, но и изучить принципы его работы. А еще - изучить разновидности API и ключевые особенности рассматриваемого компонента. Дополнительно необходимо ознакомиться со способами его вызова.</p>
20 <p>Для реализации поставленной задачи используются системы API. Сегодня нужно будет познакомиться с ними получше. Предстоит не только разобраться в том, что собой представляет API, но и изучить принципы его работы. А еще - изучить разновидности API и ключевые особенности рассматриваемого компонента. Дополнительно необходимо ознакомиться со способами его вызова.</p>
21 <p>Предложенная информация рассчитана на широкий пользовательский круг. Она пригодится как IT-специалистам (особенно системным администраторам и веб-разработчикам), так и обычным ПК-пользователям.</p>
21 <p>Предложенная информация рассчитана на широкий пользовательский круг. Она пригодится как IT-специалистам (особенно системным администраторам и веб-разработчикам), так и обычным ПК-пользователям.</p>
22 <h2>Определение</h2>
22 <h2>Определение</h2>
23 <p>API (Application Programming Interface или просто "АПИ") - это интерфейс программирования приложения. Он представляет собой некое описание способов взаимодействия одной программы на устройстве с другими. Это полная противоположность пользовательскому интерфейсу, который используется для взаимодействия человека с тем или иным приложением.</p>
23 <p>API (Application Programming Interface или просто "АПИ") - это интерфейс программирования приложения. Он представляет собой некое описание способов взаимодействия одной программы на устройстве с другими. Это полная противоположность пользовательскому интерфейсу, который используется для взаимодействия человека с тем или иным приложением.</p>
24 <p>API чаще всего выступает в качестве описания разнообразных Интернет-протоколов, программных каркасов (фреймворков), а также стандартов вызовов функций имеющейся операционной системы. Этот компонент может быть реализован отдельной библиотекой или сервисом. Используется преимущественно разработчиками для написания всевозможных приложений.</p>
24 <p>API чаще всего выступает в качестве описания разнообразных Интернет-протоколов, программных каркасов (фреймворков), а также стандартов вызовов функций имеющейся операционной системы. Этот компонент может быть реализован отдельной библиотекой или сервисом. Используется преимущественно разработчиками для написания всевозможных приложений.</p>
25 <p>API - это способ взаимодействия программного кода с набором каких-то программных компонентов, с помощью которых одна программа (бот/сайт или другой контент) может использовать другую программу.</p>
25 <p>API - это способ взаимодействия программного кода с набором каких-то программных компонентов, с помощью которых одна программа (бот/сайт или другой контент) может использовать другую программу.</p>
26 <h2>Где встречается</h2>
26 <h2>Где встречается</h2>
27 <p>Системы API встречаются практически повсеместно. С ними можно столкнуться в:</p>
27 <p>Системы API встречаются практически повсеместно. С ними можно столкнуться в:</p>
28 <ol><li>Языках программирования. В них API помогает функциям корректно работать и общаться друг с другом. Вызывающая функция должна в обязательном порядке соблюдать тип данных и очередность параметров вызываемой функции.</li>
28 <ol><li>Языках программирования. В них API помогает функциям корректно работать и общаться друг с другом. Вызывающая функция должна в обязательном порядке соблюдать тип данных и очередность параметров вызываемой функции.</li>
29 <li>Операционных системах. Тут API работает в качестве своеобразного помощника. С ним программы могут получать данные из памяти и менять системные настройки. Именно поэтому для разработки проектов под ту или иную операционную систему, нужно тщательно познакомиться с ее API.</li>
29 <li>Операционных системах. Тут API работает в качестве своеобразного помощника. С ним программы могут получать данные из памяти и менять системные настройки. Именно поэтому для разработки проектов под ту или иную операционную систему, нужно тщательно познакомиться с ее API.</li>
30 <li>Веб-сервисах и сайтах. С помощью рассматриваемого компонента сервисы и веб-страницы общаются друг с другом. Если API открытый, то официальная документация по работе с ним публикуется создателями сервиса-источника.</li>
30 <li>Веб-сервисах и сайтах. С помощью рассматриваемого компонента сервисы и веб-страницы общаются друг с другом. Если API открытый, то официальная документация по работе с ним публикуется создателями сервиса-источника.</li>
31 </ol><p>Также программным интерфейсом могут описывать:</p>
31 </ol><p>Также программным интерфейсом могут описывать:</p>
32 <ul><li>самостоятельные части программного обеспечения;</li>
32 <ul><li>самостоятельные части программного обеспечения;</li>
33 <li>приложения в полном объеме;</li>
33 <li>приложения в полном объеме;</li>
34 <li>полноценные серверы;</li>
34 <li>полноценные серверы;</li>
35 <li>фрагменты программного обеспечения, используемые для реализации тех или иных опций.</li>
35 <li>фрагменты программного обеспечения, используемые для реализации тех или иных опций.</li>
36 </ul><p>Несмотря на то, что изучаемое понятие является достаточно широким и многогранным, оно обычно встречается в веб-сервисах и на сайтах.</p>
36 </ul><p>Несмотря на то, что изучаемое понятие является достаточно широким и многогранным, оно обычно встречается в веб-сервисах и на сайтах.</p>
37 <p>Интерфейс - это граница между двумя функциональными системами. Прослойка, на которой происходит взаимодействие сервисов/систем, а также обмен информацией. Процессы внутри каждой системы скрыты друг от друга.</p>
37 <p>Интерфейс - это граница между двумя функциональными системами. Прослойка, на которой происходит взаимодействие сервисов/систем, а также обмен информацией. Процессы внутри каждой системы скрыты друг от друга.</p>
38 <p>С помощью интерфейсов получается задействовать возможности работы разных сервисов, не думая о том, как они обрабатывают имеющиеся запросы, а также из каких компонентов они состоят.</p>
38 <p>С помощью интерфейсов получается задействовать возможности работы разных сервисов, не думая о том, как они обрабатывают имеющиеся запросы, а также из каких компонентов они состоят.</p>
39 <p>В качестве примера стоит привести обычный телефонный звонок. Чтобы его совершить, человеку не нужно знать, как осуществляется работа смартфона и каким образом он обрабатывает нажатия на тачскрин. Достаточно запомнить, что в устройстве имеется кнопка, которая всегда будет возвращать один и тот же результат в ответ на конкретные манипуляции (действия).</p>
39 <p>В качестве примера стоит привести обычный телефонный звонок. Чтобы его совершить, человеку не нужно знать, как осуществляется работа смартфона и каким образом он обрабатывает нажатия на тачскрин. Достаточно запомнить, что в устройстве имеется кнопка, которая всегда будет возвращать один и тот же результат в ответ на конкретные манипуляции (действия).</p>
40 <p>Аналогично ситуация обстоит с работой API. С помощью его вызова удается выполнять те или иные функции программы, не разбираясь в том, как функционирует самое приложение. Именно поэтому рассматриваемый компонент носит название интерфейса.</p>
40 <p>Аналогично ситуация обстоит с работой API. С помощью его вызова удается выполнять те или иные функции программы, не разбираясь в том, как функционирует самое приложение. Именно поэтому рассматриваемый компонент носит название интерфейса.</p>
41 <h2>Преимущества и недостатки</h2>
41 <h2>Преимущества и недостатки</h2>
42 <p>Работа с программными интерфейсами имеет как сильные, так и слабые стороны. О них должен помнить каждый IT-специалист, чтобы не столкнуться с проблемами в процессе разрешения различных задач.</p>
42 <p>Работа с программными интерфейсами имеет как сильные, так и слабые стороны. О них должен помнить каждый IT-специалист, чтобы не столкнуться с проблемами в процессе разрешения различных задач.</p>
43 <p>К преимуществам работы программных интерфейсов можно отнести:</p>
43 <p>К преимуществам работы программных интерфейсов можно отнести:</p>
44 <ol><li>Стандартизацию интерфейсов. API предоставляют стандартизированные интерфейсы, благодаря которым взаимодействие между элементами становится более прозрачным и простым.</li>
44 <ol><li>Стандартизацию интерфейсов. API предоставляют стандартизированные интерфейсы, благодаря которым взаимодействие между элементами становится более прозрачным и простым.</li>
45 <li>Упрощение интеграции. Изучаемый элемент дает возможность интегрировать разнообразные системы и их сервисы. Внутреннюю реализацию каждой из них знать и понимать нет никакой необходимости.</li>
45 <li>Упрощение интеграции. Изучаемый элемент дает возможность интегрировать разнообразные системы и их сервисы. Внутреннюю реализацию каждой из них знать и понимать нет никакой необходимости.</li>
46 <li>Гибкость и расширяемость. При помощи использования API разработчики способны без затруднений добавлять новые функциональные возможности и сервисы. Это положительно сказывается на функциях итоговых приложений.</li>
46 <li>Гибкость и расширяемость. При помощи использования API разработчики способны без затруднений добавлять новые функциональные возможности и сервисы. Это положительно сказывается на функциях итоговых приложений.</li>
47 <li>Упрощение пользовательского опыта. Через APIs удается формировать персонализированные и адаптивные приложения. Все это положительно сказывается на пользовательском опыте.</li>
47 <li>Упрощение пользовательского опыта. Через APIs удается формировать персонализированные и адаптивные приложения. Все это положительно сказывается на пользовательском опыте.</li>
48 <li>Эффективность при использовании ресурсов конечного устройства. Изучаемые составляющие дают возможность рационально и эффективно задействовать ресурсы. Это связано с тем, что с помощью API можно многократно использовать функциональность и разнообразные данные.</li>
48 <li>Эффективность при использовании ресурсов конечного устройства. Изучаемые составляющие дают возможность рационально и эффективно задействовать ресурсы. Это связано с тем, что с помощью API можно многократно использовать функциональность и разнообразные данные.</li>
49 </ol><p>Недостатки у работы с API тоже есть. К ним относят:</p>
49 </ol><p>Недостатки у работы с API тоже есть. К ним относят:</p>
50 <ol><li>Контроль за безопасностью. Сервисы и программные интерфейсы, которые недостаточно защищены, могут стать уязвимыми к атакам. Из-за этого приходится обеспечивать дополнительную безопасность и надежность при разработке API.</li>
50 <ol><li>Контроль за безопасностью. Сервисы и программные интерфейсы, которые недостаточно защищены, могут стать уязвимыми к атакам. Из-за этого приходится обеспечивать дополнительную безопасность и надежность при разработке API.</li>
51 <li>Наличие зависимости от внешних сервисов. При использовании изучаемого элемента он становится зависимым от сторонних сервисов и приложений. Это может доставлять некоторые проблемы, если они будут не доступны, а также при изменении интерфейса.</li>
51 <li>Наличие зависимости от внешних сервисов. При использовании изучаемого элемента он становится зависимым от сторонних сервисов и приложений. Это может доставлять некоторые проблемы, если они будут не доступны, а также при изменении интерфейса.</li>
52 <li>Сложности в плане поддержки и обновлений. Изменения - это не всегда легко и хорошо. Они могут требовать обновления клиентских программ. Для API такая работа нередко оказывается дорогостоящим процессом.</li>
52 <li>Сложности в плане поддержки и обновлений. Изменения - это не всегда легко и хорошо. Они могут требовать обновления клиентских программ. Для API такая работа нередко оказывается дорогостоящим процессом.</li>
53 <li>Ограничения в плане использования. Существуют АПИ, которые могут предусматривать ограничения по количеству запросов, объему передаваемых данных, доступу к тем или иным функциям. Придется учитывать соответствующие особенности в процессе разработки собственных проектов.</li>
53 <li>Ограничения в плане использования. Существуют АПИ, которые могут предусматривать ограничения по количеству запросов, объему передаваемых данных, доступу к тем или иным функциям. Придется учитывать соответствующие особенности в процессе разработки собственных проектов.</li>
54 </ol><p>Теперь можно разобраться с составом API. Он включает в себя множество элементов, каждый из которых выполняет строго определенные функции.</p>
54 </ol><p>Теперь можно разобраться с составом API. Он включает в себя множество элементов, каждый из которых выполняет строго определенные функции.</p>
55 <h2>Состав и принцип работы</h2>
55 <h2>Состав и принцип работы</h2>
56 <p>Системы API включают в себя множество компонентов для нормальной работы. Все они отвечают за определенные функциональные возможности.</p>
56 <p>Системы API включают в себя множество компонентов для нормальной работы. Все они отвечают за определенные функциональные возможности.</p>
57 <p>В состав АПИ входят клиент и сервер. Они используются для работы и взаимодействия между разнообразными системными элементами. Клиенты получают возможность задействовать функциональность и данные, предоставляемые сервером.</p>
57 <p>В состав АПИ входят клиент и сервер. Они используются для работы и взаимодействия между разнообразными системными элементами. Клиенты получают возможность задействовать функциональность и данные, предоставляемые сервером.</p>
58 <p>Здесь:</p>
58 <p>Здесь:</p>
59 <ol><li>Сервер - это элемент, который используется для хранения данных. Он также обрабатывает запросы и возвращает ответы клиентской стороне. Серверы обычно работают на постоянной основе. Они ожидают запросов от клиентов и обеспечивают им доступ к функциональным возможностям, а также данным посредством APIs.</li>
59 <ol><li>Сервер - это элемент, который используется для хранения данных. Он также обрабатывает запросы и возвращает ответы клиентской стороне. Серверы обычно работают на постоянной основе. Они ожидают запросов от клиентов и обеспечивают им доступ к функциональным возможностям, а также данным посредством APIs.</li>
60 <li>Клиент - это программа или устройство, которое отправляет запросы на серверную часть. Она же будет получать от него сформированные ответы. Клиент будет направлять HTTP-запросы (и другие команды) к серверу API, указывая, какие действия и параметры необходимы. После получения ответа - занимается его обработкой.</li>
60 <li>Клиент - это программа или устройство, которое отправляет запросы на серверную часть. Она же будет получать от него сформированные ответы. Клиент будет направлять HTTP-запросы (и другие команды) к серверу API, указывая, какие действия и параметры необходимы. После получения ответа - занимается его обработкой.</li>
61 </ol><p>Между клиентом и сервером работа осуществляется через определенные протоколы. В качестве примера можно привести HTTPS.</p>
61 </ol><p>Между клиентом и сервером работа осуществляется через определенные протоколы. В качестве примера можно привести HTTPS.</p>
62 <h3>Интерфейс</h3>
62 <h3>Интерфейс</h3>
63 <p>В системах API интерфейс - это специальный набор методов, протоколов и форматов, который определяет способы взаимодействия между разными программными элементами. Он выступает в качестве контракта между разработчиками приложений. Указывает, работа с какими операциями допустима в проектах. А еще - как осуществляется обмен данными через API между приложениями.</p>
63 <p>В системах API интерфейс - это специальный набор методов, протоколов и форматов, который определяет способы взаимодействия между разными программными элементами. Он выступает в качестве контракта между разработчиками приложений. Указывает, работа с какими операциями допустима в проектах. А еще - как осуществляется обмен данными через API между приложениями.</p>
64 <p>Интерфейс АПИ - это своеобразное "окно". Через него человек будет направлять запросы на серверы и получать данные от них для выполнения разнообразных манипуляций в программе или на веб-странице.</p>
64 <p>Интерфейс АПИ - это своеобразное "окно". Через него человек будет направлять запросы на серверы и получать данные от них для выполнения разнообразных манипуляций в программе или на веб-странице.</p>
65 <h3>Конечные точки</h3>
65 <h3>Конечные точки</h3>
66 <p>Конечные точки - это EndPoints. Они представляют собой конкретные адреса (URL). С их помощью становится доступна работы клиента с сервером. Через конечные точки клиент способен отправлять запросы для выполнения тех или иных операций, а также для получения некоторых данных от серверной стороны.</p>
66 <p>Конечные точки - это EndPoints. Они представляют собой конкретные адреса (URL). С их помощью становится доступна работы клиента с сервером. Через конечные точки клиент способен отправлять запросы для выполнения тех или иных операций, а также для получения некоторых данных от серверной стороны.</p>
67 <p>Здесь необходимо запомнить следующее:</p>
67 <p>Здесь необходимо запомнить следующее:</p>
68 <ol><li>Каждая конечная точка идентифицирует определенный ресурс или действие, к которому клиент хочет обеспечить себе доступ. Это может быть информация о заказах, пользователях, продуктах и так далее.</li>
68 <ol><li>Каждая конечная точка идентифицирует определенный ресурс или действие, к которому клиент хочет обеспечить себе доступ. Это может быть информация о заказах, пользователях, продуктах и так далее.</li>
69 <li>Каждый EndPoint обладает уникальным URL. Соответствующий адрес используется для обращения клиента к "точке". Обычно он включает в себя базовый адрес АПИ, после которого указывается дополнительный путь или идентификатор ресурса.</li>
69 <li>Каждый EndPoint обладает уникальным URL. Соответствующий адрес используется для обращения клиента к "точке". Обычно он включает в себя базовый адрес АПИ, после которого указывается дополнительный путь или идентификатор ресурса.</li>
70 <li>EndPoints определяют то, какие методы работают (поддерживаются) для взаимодействия с ними.</li>
70 <li>EndPoints определяют то, какие методы работают (поддерживаются) для взаимодействия с ними.</li>
71 <li>Каждая конечная точка определяет, какие данные или какие манипуляции могут быть выполнены клиентом через эту самую точку.</li>
71 <li>Каждая конечная точка определяет, какие данные или какие манипуляции могут быть выполнены клиентом через эту самую точку.</li>
72 </ol><p>Есть и другие значимые компоненты АПИ. К ним относят запросы и ответы, методы и данные.</p>
72 </ol><p>Есть и другие значимые компоненты АПИ. К ним относят запросы и ответы, методы и данные.</p>
73 <h3>Запросы и ответы</h3>
73 <h3>Запросы и ответы</h3>
74 <p>Запросы и ответы - способы, с помощью которых допустима работа между клиентом и сервером. Они направляют с их помощью информацию и обмениваются ей.</p>
74 <p>Запросы и ответы - способы, с помощью которых допустима работа между клиентом и сервером. Они направляют с их помощью информацию и обмениваются ей.</p>
75 <p>Запрос - это сообщение, исходящее с клиентской стороны модели. Оно перенаправляется серверу для запроса определенных данных или выполнения тех или иных действий.</p>
75 <p>Запрос - это сообщение, исходящее с клиентской стороны модели. Оно перенаправляется серверу для запроса определенных данных или выполнения тех или иных действий.</p>
76 <p>Ответ - сообщение, которое сервер формирует и направляет в отместку на запрос. Оно предусматривает данные, запрошенные ранее, или информацию о результате проделанной работы.</p>
76 <p>Ответ - сообщение, которое сервер формирует и направляет в отместку на запрос. Оно предусматривает данные, запрошенные ранее, или информацию о результате проделанной работы.</p>
77 <h3>Аргументы и параметры</h3>
77 <h3>Аргументы и параметры</h3>
78 <p>Методы API могут принимать и передавать параметры/аргументы. Они определяют условия работы с теми или иными операциями/запросами.</p>
78 <p>Методы API могут принимать и передавать параметры/аргументы. Они определяют условия работы с теми или иными операциями/запросами.</p>
79 <p>Параметры - это дополнительные сведения, передаваемые в API-запросе. Используются для настройки его работы и определения контекста запроса.</p>
79 <p>Параметры - это дополнительные сведения, передаваемые в API-запросе. Используются для настройки его работы и определения контекста запроса.</p>
80 <p>Аргументы - данные, которые нужно передавать через методы или функции API. Они нужны для непосредственного выполнения операций или запросов.</p>
80 <p>Аргументы - данные, которые нужно передавать через методы или функции API. Они нужны для непосредственного выполнения операций или запросов.</p>
81 <h3>Протоколы</h3>
81 <h3>Протоколы</h3>
82 <p>API использует в своей работе определенные протоколы передачи данных - набор правил и соглашений для информационного обмена между клиентом и сервером. Эти протоколы используются для обеспечения надежной и стандартизированной связи между различными системами, независимо от используемого языка программирования, платформы или архитектуры.</p>
82 <p>API использует в своей работе определенные протоколы передачи данных - набор правил и соглашений для информационного обмена между клиентом и сервером. Эти протоколы используются для обеспечения надежной и стандартизированной связи между различными системами, независимо от используемого языка программирования, платформы или архитектуры.</p>
83 <h3>Данные и их форматы</h3>
83 <h3>Данные и их форматы</h3>
84 <p>Данные - это любая информация, передаваемая между клиентом и сервером через АПИ. Сюда можно отнести:</p>
84 <p>Данные - это любая информация, передаваемая между клиентом и сервером через АПИ. Сюда можно отнести:</p>
85 <ul><li>изображения;</li>
85 <ul><li>изображения;</li>
86 <li>аудиофайлы;</li>
86 <li>аудиофайлы;</li>
87 <li>видео;</li>
87 <li>видео;</li>
88 <li>числовые значения;</li>
88 <li>числовые значения;</li>
89 <li>текст;</li>
89 <li>текст;</li>
90 <li>иные формы информации.</li>
90 <li>иные формы информации.</li>
91 </ul><p>АПИ также умеют определять форматы данных, с которыми будет осуществляться дальнейшая работа. Чаще всего приходится иметь дело с JSON, HTML или XML.</p>
91 </ul><p>АПИ также умеют определять форматы данных, с которыми будет осуществляться дальнейшая работа. Чаще всего приходится иметь дело с JSON, HTML или XML.</p>
92 - <p>Формат данных используется для определения того, как информация будет упаована и представлена. Клиент и сервер заранее "договариваются" о форматах, чтобы передача цифровых материалов прошла успешно.</p>
92 + <p>Формат данных используется для определения того, как информация будет упакована и представлена. Клиент и сервер заранее "договариваются" о форматах, чтобы передача цифровых материалов прошла успешно.</p>
93 <h2>Виды</h2>
93 <h2>Виды</h2>
94 <p>Разные проекты предусматривают разные виды API. Это связано с тем, что каждый тип рассматриваемого компонента предусматривает свои ключевые особенности работы. Для одних проектов на первом месте окажется надежность и совместимость с определенными экосистемами, а для других - скорость функционирования.</p>
94 <p>Разные проекты предусматривают разные виды API. Это связано с тем, что каждый тип рассматриваемого компонента предусматривает свои ключевые особенности работы. Для одних проектов на первом месте окажется надежность и совместимость с определенными экосистемами, а для других - скорость функционирования.</p>
95 <h3>Web API</h3>
95 <h3>Web API</h3>
96 <p>Так называются все APIs для взаимодействия между веб-сервисами через Интернет. С помощью них доступна передача данных и выполнение действий по протоколам HTTP(S). Представленные ниже интерфейсы относятся к Web API.</p>
96 <p>Так называются все APIs для взаимодействия между веб-сервисами через Интернет. С помощью них доступна передача данных и выполнение действий по протоколам HTTP(S). Представленные ниже интерфейсы относятся к Web API.</p>
97 <h4><em>REST</em></h4>
97 <h4><em>REST</em></h4>
98 <p>REST API - архитектурный подход для формирования веб-сервисов. Он устанавливает ограничения устройства и функциональности программного интерфейса. Представляет собой наборы правил и принципов:</p>
98 <p>REST API - архитектурный подход для формирования веб-сервисов. Он устанавливает ограничения устройства и функциональности программного интерфейса. Представляет собой наборы правил и принципов:</p>
99 <ol><li>Клиент-серверная архитектура. В этом случае приложение состоит из двух компонентов - клиента и сервера.</li>
99 <ol><li>Клиент-серверная архитектура. В этом случае приложение состоит из двух компонентов - клиента и сервера.</li>
100 <li>Отсутствие состояния. Сервер не хранит данные о предыдущей работе с клиентом. Каждый запрос с клиентской стороны к серверной должен быть независимым (самодостаточным). В этом случае нагрузка на сервер будет снижена в несколько раз - ему не придется держать в памяти каждую сессию информационного обмена.</li>
100 <li>Отсутствие состояния. Сервер не хранит данные о предыдущей работе с клиентом. Каждый запрос с клиентской стороны к серверной должен быть независимым (самодостаточным). В этом случае нагрузка на сервер будет снижена в несколько раз - ему не придется держать в памяти каждую сессию информационного обмена.</li>
101 <li>Кэшируемость. За счет нее можно сохранять API-ответы для повторного использования без непосредственного выполнения запроса. Данный прием снижает задержку и нагрузку на сервер. Ответы REST API также должны указывать на возможность или невозможность кэшируемости клиентом.</li>
101 <li>Кэшируемость. За счет нее можно сохранять API-ответы для повторного использования без непосредственного выполнения запроса. Данный прием снижает задержку и нагрузку на сервер. Ответы REST API также должны указывать на возможность или невозможность кэшируемости клиентом.</li>
102 <li>Единообразие интерфейса. REST должны предусматривать работу через единообразный интерфейс. Он упрощает взаимодействие между клиентами и серверами. В REST API это стандартные HTTP-методы, а также определенные соглашения об именовании ресурсов.</li>
102 <li>Единообразие интерфейса. REST должны предусматривать работу через единообразный интерфейс. Он упрощает взаимодействие между клиентами и серверами. В REST API это стандартные HTTP-методы, а также определенные соглашения об именовании ресурсов.</li>
103 <li>Слои. Архитектура у рассматриваемого вида интерфейса "слоеная". Она включает в себя серверы, прокси, шлюзы, балансировщики нагрузки и иные вспомогательные системы. Именно поэтому клиентам никогда не удастся понять, напрямую они общаются с серверами или нет.</li>
103 <li>Слои. Архитектура у рассматриваемого вида интерфейса "слоеная". Она включает в себя серверы, прокси, шлюзы, балансировщики нагрузки и иные вспомогательные системы. Именно поэтому клиентам никогда не удастся понять, напрямую они общаются с серверами или нет.</li>
104 </ol><p>Еще один принцип REST - код по требованию. Он не является обязательным. Серверная сторона может отправлять коды, которые выполняются уже на стороне клиента. REST широко используется в веб-разработке для организации взаимодействия между клиентом и сервером.</p>
104 </ol><p>Еще один принцип REST - код по требованию. Он не является обязательным. Серверная сторона может отправлять коды, которые выполняются уже на стороне клиента. REST широко используется в веб-разработке для организации взаимодействия между клиентом и сервером.</p>
105 <h4><em>SOAP</em></h4>
105 <h4><em>SOAP</em></h4>
106 <p>SOAP - строгий протокол обмена сообщениями по сети. Для их форматирования используется XML. А вот правила описания, обработки и передачи сообщений строго стандартизированы. Ключевой особенностью SOAP выступает высокий уровень безопасности. Он обеспечивается механизмами шифрования, аутентификации сообщений и управления транзакциями.</p>
106 <p>SOAP - строгий протокол обмена сообщениями по сети. Для их форматирования используется XML. А вот правила описания, обработки и передачи сообщений строго стандартизированы. Ключевой особенностью SOAP выступает высокий уровень безопасности. Он обеспечивается механизмами шифрования, аутентификации сообщений и управления транзакциями.</p>
107 <h4><em>GraphQL</em></h4>
107 <h4><em>GraphQL</em></h4>
108 <p>Это язык запроса для АПИ. Он позволяет клиентским сторонам запрашивать только те данные, которые нужны для дальнейшей работы. С помощью одного запроса GraphQL удается получить данные, которые в REST требовали бы нескольких запросов подряд.</p>
108 <p>Это язык запроса для АПИ. Он позволяет клиентским сторонам запрашивать только те данные, которые нужны для дальнейшей работы. С помощью одного запроса GraphQL удается получить данные, которые в REST требовали бы нескольких запросов подряд.</p>
109 <h4><em>RPC</em></h4>
109 <h4><em>RPC</em></h4>
110 <p>RPC - протокол, с помощью которого возможен вызов функций приложениями на удаленных серверах. Так, если бы они выполнялись локально. RPC удаленно отправляет на сервер запрос с указанием метода и необходимых параметров. Ответом будет служить результат выполнения метода.</p>
110 <p>RPC - протокол, с помощью которого возможен вызов функций приложениями на удаленных серверах. Так, если бы они выполнялись локально. RPC удаленно отправляет на сервер запрос с указанием метода и необходимых параметров. Ответом будет служить результат выполнения метода.</p>
111 <p>У RPC API много реализаций. В качестве примеров можно привести gRPC от Google или tRPC от TypeScript.</p>
111 <p>У RPC API много реализаций. В качестве примеров можно привести gRPC от Google или tRPC от TypeScript.</p>
112 <h2>Как вызвать</h2>
112 <h2>Как вызвать</h2>
113 <p>API для дальнейшей работы в проекте должен быть вызван. Добиться результата можно несколькими способами:</p>
113 <p>API для дальнейшей работы в проекте должен быть вызван. Добиться результата можно несколькими способами:</p>
114 <ol><li>Напрямую. В этом случае система вызывает функции внутри себя и методы другой программы. Во второй ситуации приложение при работе способно отправлять запросы на получение данных из другого приложения. Метод также вызывается вручную. Это необходимо для проверки работоспособности системы без затрагивания графического интерфейса.</li>
114 <ol><li>Напрямую. В этом случае система вызывает функции внутри себя и методы другой программы. Во второй ситуации приложение при работе способно отправлять запросы на получение данных из другого приложения. Метод также вызывается вручную. Это необходимо для проверки работоспособности системы без затрагивания графического интерфейса.</li>
115 <li>Косвенно. В этом случае работа по обращению к рассматриваемому компоненту производится пользователем. Он делает это через графический интерфейс. В качестве примера стоит привести нажатие на кнопку "Создание новой вкладки" в браузере. Пользователь будет вызывать в API функции. Их результатом станет формирование новой вкладки.</li>
115 <li>Косвенно. В этом случае работа по обращению к рассматриваемому компоненту производится пользователем. Он делает это через графический интерфейс. В качестве примера стоит привести нажатие на кнопку "Создание новой вкладки" в браузере. Пользователь будет вызывать в API функции. Их результатом станет формирование новой вкладки.</li>
116 </ol><p>С базовыми понятиями и особенностями работы программных интерфейсов ознакомиться удалось. Чтобы научиться создавать их самостоятельно и использовать в своих проектах, рекомендуется пройти дистанционные компьютерные курсы.</p>
116 </ol><p>С базовыми понятиями и особенностями работы программных интерфейсов ознакомиться удалось. Чтобы научиться создавать их самостоятельно и использовать в своих проектах, рекомендуется пройти дистанционные компьютерные курсы.</p>
117 <p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em> </p>
117 <p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em> </p>
118  
118