0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>API - понятие</a><ul><li><a>О наборе функций</a></li>
1
<ul><li><a>API - понятие</a><ul><li><a>О наборе функций</a></li>
2
</ul></li>
2
</ul></li>
3
<li><a>Принцип составления</a></li>
3
<li><a>Принцип составления</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
</ul></li>
10
</ul></li>
11
<li><a>Тестирование</a></li>
11
<li><a>Тестирование</a></li>
12
<li><a>Endpoint - это…</a></li>
12
<li><a>Endpoint - это…</a></li>
13
<li><a>REST - что это</a><ul><li><a>Принципы REST</a></li>
13
<li><a>REST - что это</a><ul><li><a>Принципы REST</a></li>
14
<li><a>Примеры запросов</a></li>
14
<li><a>Примеры запросов</a></li>
15
</ul></li>
15
</ul></li>
16
<li><a>Что поможет лучше понять API</a></li>
16
<li><a>Что поможет лучше понять API</a></li>
17
</ul><p>Многие слышали об API, а также REST. В данной статье будет рассказано о том, что это за элементы, а также каковы принципы их использования на практике. Предложенная информация окажется одинаково полезной и новичкам, и продвинутым разработчикам.</p>
17
</ul><p>Многие слышали об API, а также REST. В данной статье будет рассказано о том, что это за элементы, а также каковы принципы их использования на практике. Предложенная информация окажется одинаково полезной и новичкам, и продвинутым разработчикам.</p>
18
<p>API - это Application Programming Interface. Технология, описывающая метод, который программное обеспечение предоставляет внешним пользователям для коммуникации с оным. Чаще всего - путем подключения к интернету.</p>
18
<p>API - это Application Programming Interface. Технология, описывающая метод, который программное обеспечение предоставляет внешним пользователям для коммуникации с оным. Чаще всего - путем подключения к интернету.</p>
19
<p>API может выступать взаимодействием с сервером утилиты на телефоне, между ноутбуками или иными устройствами. Это - пользовательский интерфейс. Он включает в себя:</p>
19
<p>API может выступать взаимодействием с сервером утилиты на телефоне, между ноутбуками или иными устройствами. Это - пользовательский интерфейс. Он включает в себя:</p>
20
<ul><li>функции;</li>
20
<ul><li>функции;</li>
21
<li>структуры;</li>
21
<li>структуры;</li>
22
<li>методы;</li>
22
<li>методы;</li>
23
<li>классы.</li>
23
<li>классы.</li>
24
</ul><p>Все это способствует грамотному взаимодействию одного ПО с другим. API предусматривает "мостики", которые дают возможность программе 1 получить доступ к данным программы Б или к определенному функционалу.</p>
24
</ul><p>Все это способствует грамотному взаимодействию одного ПО с другим. API предусматривает "мостики", которые дают возможность программе 1 получить доступ к данным программы Б или к определенному функционалу.</p>
25
<p>Простыми словами, это - "договор", который предоставляется задействованным контентом. Звучит как "Ко мне можно обратиться так и вот так, я в таком случае начну выполнять то и это".</p>
25
<p>Простыми словами, это - "договор", который предоставляется задействованным контентом. Звучит как "Ко мне можно обратиться так и вот так, я в таком случае начну выполнять то и это".</p>
26
<h3>О наборе функций</h3>
26
<h3>О наборе функций</h3>
27
<p>Во время работы приложения с пользовательским интерфейсом нужно учитывать его возможности. Оный отвечает на вопрос "Каким образом можно обратиться ко мне и моей системе?". Предусматривает:</p>
27
<p>Во время работы приложения с пользовательским интерфейсом нужно учитывать его возможности. Оный отвечает на вопрос "Каким образом можно обратиться ко мне и моей системе?". Предусматривает:</p>
28
<ul><li>операции, которые можно обработать и осуществить;</li>
28
<ul><li>операции, которые можно обработать и осуществить;</li>
29
<li>данные, поступаемые на вход;</li>
29
<li>данные, поступаемые на вход;</li>
30
<li>данные, которые отображаются на выходе софта.</li>
30
<li>данные, которые отображаются на выходе софта.</li>
31
</ul><p>Если представить пользовательский интерфейс в более простой форме для разработчика, то он будет напоминать описание функции: на входе есть данные, на выходе - тоже. При помощи кодификации происходит преобразование одного в другое.</p>
31
</ul><p>Если представить пользовательский интерфейс в более простой форме для разработчика, то он будет напоминать описание функции: на входе есть данные, на выходе - тоже. При помощи кодификации происходит преобразование одного в другое.</p>
32
<p>Согласно установленному определению, API представлен набором функций. Их может быть одна или несколько.</p>
32
<p>Согласно установленному определению, API представлен набором функций. Их может быть одна или несколько.</p>
33
<h2>Принцип составления</h2>
33
<h2>Принцип составления</h2>
34
<p>Каждый программер будет проводить группировку функций в зависимости от того, какой результат он хочет получить. Пример - по функционалу. Тогда потребуется:</p>
34
<p>Каждый программер будет проводить группировку функций в зависимости от того, какой результат он хочет получить. Пример - по функционалу. Тогда потребуется:</p>
35
<ul><li>интерфейс входа в систему - там осуществляется регистрация и авторизация;</li>
35
<ul><li>интерфейс входа в систему - там осуществляется регистрация и авторизация;</li>
36
<li>интерфейс пользовательского характер для отчетностей - разные функции будут предусматривать разного рода формулы;</li>
36
<li>интерфейс пользовательского характер для отчетностей - разные функции будут предусматривать разного рода формулы;</li>
37
<li>API платежных данных - для работы с банковскими организациями предназначается отдельная возможность.</li>
37
<li>API платежных данных - для работы с банковскими организациями предназначается отдельная возможность.</li>
38
</ul><p>Иногда создавать целую группу пользовательских интерфейсов нет никакой необходимости. Разработчик в праве сделать один общий API или дополнить его "под заказ".</p>
38
</ul><p>Иногда создавать целую группу пользовательских интерфейсов нет никакой необходимости. Разработчик в праве сделать один общий API или дополнить его "под заказ".</p>
39
<h2>Причем тут интерфейс</h2>
39
<h2>Причем тут интерфейс</h2>
40
<p>Рассматриваемая технология - это термин, который широко применяется в объектно-ориентированном программировании. При коддинге контракт - это и есть API. Он предусматривает следующие концепции:</p>
40
<p>Рассматриваемая технология - это термин, который широко применяется в объектно-ориентированном программировании. При коддинге контракт - это и есть API. Он предусматривает следующие концепции:</p>
41
<ul><li>инкапсуляция;</li>
41
<ul><li>инкапсуляция;</li>
42
<li>наследование;</li>
42
<li>наследование;</li>
43
<li>полиморфизм.</li>
43
<li>полиморфизм.</li>
44
</ul><p>При помощи инкапсуляции происходит раскрытие реализации. Для пользователя весь процесс будет предельно простым: нужно нажать на кнопку, чтобы получить отчет. Внутреннее устройство соответствующей "технологии" не играет роли для среднестатистического юзера. Программа просто предоставляет человеку интерфейс, посредством которого он сможет использовать предусматриваемый системой/программером функционал.</p>
44
</ul><p>При помощи инкапсуляции происходит раскрытие реализации. Для пользователя весь процесс будет предельно простым: нужно нажать на кнопку, чтобы получить отчет. Внутреннее устройство соответствующей "технологии" не играет роли для среднестатистического юзера. Программа просто предоставляет человеку интерфейс, посредством которого он сможет использовать предусматриваемый системой/программером функционал.</p>
45
<p>Чаще всего клиенты работают с GUI. Это - графический пользовательский интерфейс. Приложения будут контактировать непосредственно с API. Красивая "оболочка" в виде оформления им не требуется.</p>
45
<p>Чаще всего клиенты работают с GUI. Это - графический пользовательский интерфейс. Приложения будут контактировать непосредственно с API. Красивая "оболочка" в виде оформления им не требуется.</p>
46
<h2>О вызовах</h2>
46
<h2>О вызовах</h2>
47
<p>Данные в утилите удается вбить, откорректировать, вывести и просмотреть через специальный interface. Для ПО нужен API. Он может быть вызван разными способами:</p>
47
<p>Данные в утилите удается вбить, откорректировать, вывести и просмотреть через специальный interface. Для ПО нужен API. Он может быть вызван разными способами:</p>
48
<ul><li>система осуществляет вызов функции в пределах себя;</li>
48
<ul><li>система осуществляет вызов функции в пределах себя;</li>
49
<li>происходит операция, которая вызывает метод другой системы;</li>
49
<li>происходит операция, которая вызывает метод другой системы;</li>
50
<li>человек реализовывает задачу самостоятельно;</li>
50
<li>человек реализовывает задачу самостоятельно;</li>
51
<li>манипуляцией занимаются автотесты.</li>
51
<li>манипуляцией занимаются автотесты.</li>
52
</ul><p>Каждый вариант предусматривает передачу данных через тот или иной функционал. Далее каждый подход будет рассмотрен более внимательно.</p>
52
</ul><p>Каждый вариант предусматривает передачу данных через тот или иной функционал. Далее каждый подход будет рассмотрен более внимательно.</p>
53
<h3>Функция внутри утилиты</h3>
53
<h3>Функция внутри утилиты</h3>
54
<p>Части программы представляют собой элементы взаимодействующих друг с другом компонентов. Происходит это посредством программного уровня - на API.</p>
54
<p>Части программы представляют собой элементы взаимодействующих друг с другом компонентов. Происходит это посредством программного уровня - на API.</p>
55
<p>Такой вариант является самым простым. Связано это с тем, что автором interface выступает разработчик. Он же - непосредственная целевая аудитория и потребитель. С неактуальной документацией и устаревшими данными такой пользователь не столкнется.</p>
55
<p>Такой вариант является самым простым. Связано это с тем, что автором interface выступает разработчик. Он же - непосредственная целевая аудитория и потребитель. С неактуальной документацией и устаревшими данными такой пользователь не столкнется.</p>
56
<p>Для того, чтобы свести к минимуму заминки приема, нужно внимательно изучать комментарии, которые содержит код. Они укажут на принципы функционирования API.</p>
56
<p>Для того, чтобы свести к минимуму заминки приема, нужно внимательно изучать комментарии, которые содержит код. Они укажут на принципы функционирования API.</p>
57
<h3>Из другой системы</h3>
57
<h3>Из другой системы</h3>
58
<p>В пределах одного устройства всегда происходит взаимодействие приложений друг с другом на аппаратном уровне. Вызов interface из другой системы - распространенный прием, который тестируется в интеграторах.</p>
58
<p>В пределах одного устройства всегда происходит взаимодействие приложений друг с другом на аппаратном уровне. Вызов interface из другой системы - распространенный прием, который тестируется в интеграторах.</p>
59
<p>Здесь система будет через API извлекать данные из другого программного обеспечения. Можно как получать информацию, так и передавать ее.</p>
59
<p>Здесь система будет через API извлекать данные из другого программного обеспечения. Можно как получать информацию, так и передавать ее.</p>
60
<p>Выглядит это так:</p>
60
<p>Выглядит это так:</p>
61
<ul><li>пользователь вводит букву на сайте;</li>
61
<ul><li>пользователь вводит букву на сайте;</li>
62
<li>страница отправляет запрос в подсказки по API;</li>
62
<li>страница отправляет запрос в подсказки по API;</li>
63
<li>соответствующие "указатели" возвращают ответ;</li>
63
<li>соответствующие "указатели" возвращают ответ;</li>
64
<li>сайт обрабатывает полученный контент и выводит результат клиенту.</li>
64
<li>сайт обрабатывает полученный контент и выводит результат клиенту.</li>
65
</ul><p>Так будет с каждым отдельным символом. Стоит учесть, что "подсказки" в приведенном примере представлены отдельным документом (системой).</p>
65
</ul><p>Так будет с каждым отдельным символом. Стоит учесть, что "подсказки" в приведенном примере представлены отдельным документом (системой).</p>
66
<h3>Вызов человеком</h3>
66
<h3>Вызов человеком</h3>
67
<p>Причины, по которым применяется данная метода, могут быть разными:</p>
67
<p>Причины, по которым применяется данная метода, могут быть разными:</p>
68
<ul><li>ускорение работы;</li>
68
<ul><li>ускорение работы;</li>
69
<li>необходимость делать исправления и корректировки багов;</li>
69
<li>необходимость делать исправления и корректировки багов;</li>
70
<li>проверка логики без фронтовых докруток.</li>
70
<li>проверка логики без фронтовых докруток.</li>
71
</ul><p>Обычно при наличии рассматриваемой "архитектуры" проще воспользоваться ей, чем GUI. Если обнаружен баг, нужно просто убрать из кода все лишнее, вызвать метод без graphic interface, а затем протестировать логику утилиты.</p>
71
</ul><p>Обычно при наличии рассматриваемой "архитектуры" проще воспользоваться ей, чем GUI. Если обнаружен баг, нужно просто убрать из кода все лишнее, вызвать метод без graphic interface, а затем протестировать логику утилиты.</p>
72
<h3>Автотестинг в помощь</h3>
72
<h3>Автотестинг в помощь</h3>
73
<p>Вот типичная пирамида автоматизации:</p>
73
<p>Вот типичная пирамида автоматизации:</p>
74
<ul><li>GUI-тестинг - направлен на проверку непосредственными пользователями;</li>
74
<ul><li>GUI-тестинг - направлен на проверку непосредственными пользователями;</li>
75
<li>API-тест - планомерное опускание вниз с уборкой "всего лишнего";</li>
75
<li>API-тест - планомерное опускание вниз с уборкой "всего лишнего";</li>
76
<li>Unit-тестинг - проверки на отдельные функции, возможности.</li>
76
<li>Unit-тестинг - проверки на отдельные функции, возможности.</li>
77
</ul><p>В первом случае робот будет делать то, что реализовывал бы обычный пользователь. Пример - открывает браузер, нажимает на кнопки. Но, если подобная проверка провалилась, придется долго искать, в каком именно месте.</p>
77
</ul><p>В первом случае робот будет делать то, что реализовывал бы обычный пользователь. Пример - открывает браузер, нажимает на кнопки. Но, если подобная проверка провалилась, придется долго искать, в каком именно месте.</p>
78
<p>Второй вариант - те же самые манипуляции, но без браузера. Берутся данные на вход, проверяются на выходе. Пример - тестинг грамотности и правильности заполнения данных в Excel.</p>
78
<p>Второй вариант - те же самые манипуляции, но без браузера. Берутся данные на вход, проверяются на выходе. Пример - тестинг грамотности и правильности заполнения данных в Excel.</p>
79
<p>Юнит-тестирование позволяет посмотреть, как работает каждая функция отдельно друг от друга. С их помощью обнаруженные баги легко подкорректировать, потому что становится ясно, что именно и в каком месте "отказало".</p>
79
<p>Юнит-тестирование позволяет посмотреть, как работает каждая функция отдельно друг от друга. С их помощью обнаруженные баги легко подкорректировать, потому что становится ясно, что именно и в каком месте "отказало".</p>
80
<h3>Косвенный вызов</h3>
80
<h3>Косвенный вызов</h3>
81
<p>Предыдущие варианты - это прямое обращение к адресам и информации. Вызвать API-интерфейс удается косвенно. Пример - через GIU. Здесь происходит следующее:</p>
81
<p>Предыдущие варианты - это прямое обращение к адресам и информации. Вызвать API-интерфейс удается косвенно. Пример - через GIU. Здесь происходит следующее:</p>
82
<ol><li>Клиент открывает систему и пытается загрузить отчет.</li>
82
<ol><li>Клиент открывает систему и пытается загрузить отчет.</li>
83
<li>Соответствующая проблема решается путем клика на определенную кнопку.</li>
83
<li>Соответствующая проблема решается путем клика на определенную кнопку.</li>
84
<li>Когда юзер кликает по соответствующему элементу управления, происходит формирование и отправка запроса на сервер.</li>
84
<li>Когда юзер кликает по соответствующему элементу управления, происходит формирование и отправка запроса на сервер.</li>
85
<li>Сервер получат команду, обрабатывает ее.</li>
85
<li>Сервер получат команду, обрабатывает ее.</li>
86
<li>Происходит формирование отчета (ответа) с его непосредственной выдачей в качестве результата.</li>
86
<li>Происходит формирование отчета (ответа) с его непосредственной выдачей в качестве результата.</li>
87
</ol><p>Так клиент может пользоваться разработками API, даже не подозревая об этом.</p>
87
</ol><p>Так клиент может пользоваться разработками API, даже не подозревая об этом.</p>
88
<h2>Тестирование</h2>
88
<h2>Тестирование</h2>
89
<p>Тестирование API - это проверка, которая осуществляется через рассматриваемую архитектуру. Подобный термин выступает в качестве общеупотребимого, но не совсем корректного с технической точки зрения.</p>
89
<p>Тестирование API - это проверка, которая осуществляется через рассматриваемую архитектуру. Подобный термин выступает в качестве общеупотребимого, но не совсем корректного с технической точки зрения.</p>
90
<p>Связано это с тем, что при реализации подобной проверки будет анализироваться конкретная функциональность через программный или графический interface. Термин целесообразно применять, говоря об:</p>
90
<p>Связано это с тем, что при реализации подобной проверки будет анализироваться конкретная функциональность через программный или графический interface. Термин целесообразно применять, говоря об:</p>
91
<ul><li>автотестах на уровне программного интерфейса;</li>
91
<ul><li>автотестах на уровне программного интерфейса;</li>
92
<li>интеграции между несколькими системами.</li>
92
<li>интеграции между несколькими системами.</li>
93
</ul><p>Интеграция - это когда одна система обращается к другой по протоколу передачи данных. Носит название Remote API. Общение осуществляется по некому протоколу посредством интернета. Есть еще LocalAPI - когда приложение обращается само к себе или к другому ПО в пределах одной виртуальной памяти.</p>
93
</ul><p>Интеграция - это когда одна система обращается к другой по протоколу передачи данных. Носит название Remote API. Общение осуществляется по некому протоколу посредством интернета. Есть еще LocalAPI - когда приложение обращается само к себе или к другому ПО в пределах одной виртуальной памяти.</p>
94
<h2>Endpoint - это…</h2>
94
<h2>Endpoint - это…</h2>
95
<p>При проверке любого обеспечения, работающего с сетью, должно быть представление об endpoint. Это - название адреса, который будет принимать сообщения от клиента. Обычно представлен URL и портом. Если хочется создать веб-сервис на порту 8080 Endpoint, он будет иметь следующий вид:</p>
95
<p>При проверке любого обеспечения, работающего с сетью, должно быть представление об endpoint. Это - название адреса, который будет принимать сообщения от клиента. Обычно представлен URL и портом. Если хочется создать веб-сервис на порту 8080 Endpoint, он будет иметь следующий вид:</p>
96
<p>Если у сервиса несколько интерфейсов, предстоит при обращении к оному указать точный Endpoint каждый раз при смене оных.</p>
96
<p>Если у сервиса несколько интерфейсов, предстоит при обращении к оному указать точный Endpoint каждый раз при смене оных.</p>
97
<p>В качестве эндпоинта может восприниматься определенный роутер или компьютер - конечное устройство. Это понятие выходит за пределы Restful. Endpoint может использоваться в SOAP и иных протоколах.</p>
97
<p>В качестве эндпоинта может восприниматься определенный роутер или компьютер - конечное устройство. Это понятие выходит за пределы Restful. Endpoint может использоваться в SOAP и иных протоколах.</p>
98
<h2>REST - что это</h2>
98
<h2>REST - что это</h2>
99
<p>REST - передача состояния представления. Представляет архитектурный стиль взаимодействия элементов распределенной системы в пределах компьютерной сети. Отвечает за определение принципа обмена данными между различными компонентами системы, каждая из которых физически способна располагаться в разных местах в физическом плане.</p>
99
<p>REST - передача состояния представления. Представляет архитектурный стиль взаимодействия элементов распределенной системы в пределах компьютерной сети. Отвечает за определение принципа обмена данными между различными компонентами системы, каждая из которых физически способна располагаться в разных местах в физическом плане.</p>
100
<p>Это - согласованный набор ограничений, принимаемых во внимание при проектировании распределенных систем. Эти "рамки" носят название принципов REST. Приложения, которые соблюдают оные - Restful.</p>
100
<p>Это - согласованный набор ограничений, принимаемых во внимание при проектировании распределенных систем. Эти "рамки" носят название принципов REST. Приложения, которые соблюдают оные - Restful.</p>
101
<p>Для того, чтобы разобраться с архитектурой, необходимо знать:</p>
101
<p>Для того, чтобы разобраться с архитектурой, необходимо знать:</p>
102
<ul><li>основы работы в формате JSON;</li>
102
<ul><li>основы работы в формате JSON;</li>
103
<li>HTML;</li>
103
<li>HTML;</li>
104
<li>HTTP;</li>
104
<li>HTTP;</li>
105
<li>URL;</li>
105
<li>URL;</li>
106
<li>внедрение зависимостей.</li>
106
<li>внедрение зависимостей.</li>
107
</ul><p>Все это пригодится при создании нового приложения, контактирующего с клиентами и серверами.</p>
107
</ul><p>Все это пригодится при создании нового приложения, контактирующего с клиентами и серверами.</p>
108
<h3>Принципы REST</h3>
108
<h3>Принципы REST</h3>
109
<p>Всего их шесть:</p>
109
<p>Всего их шесть:</p>
110
<ol><li>Приход к модели клиент-сервер. Здесь заложены ограничения потребностей. Нужно четко отделять клиентский интерфейс от серверных "интересов", отвечающих за хранение данных. Принцип помогает повысить переносимость кодификации на другие платформы, а также улучшить масштабируемость системы.</li>
110
<ol><li>Приход к модели клиент-сервер. Здесь заложены ограничения потребностей. Нужно четко отделять клиентский интерфейс от серверных "интересов", отвечающих за хранение данных. Принцип помогает повысить переносимость кодификации на другие платформы, а также улучшить масштабируемость системы.</li>
111
<li>Отсутствие состояния. Между запросами серверу не нужно хранить данные о состоянии клиента. Обратное правило тоже действует. Запросы со стороны "пользователя" формируются так, чтобы server мог получить необходимые данные для обработки запроса. Это помогает "не читать между строк" составленной утилите.</li>
111
<li>Отсутствие состояния. Между запросами серверу не нужно хранить данные о состоянии клиента. Обратное правило тоже действует. Запросы со стороны "пользователя" формируются так, чтобы server мог получить необходимые данные для обработки запроса. Это помогает "не читать между строк" составленной утилите.</li>
112
<li>Кэширование. Ответы серверного типа должны быть явными или неявными. Это поможет юзеру не получать устаревшие и неверные сведения. Способствует улучшению производительности.</li>
112
<li>Кэширование. Ответы серверного типа должны быть явными или неявными. Это поможет юзеру не получать устаревшие и неверные сведения. Способствует улучшению производительности.</li>
113
<li>Единообразие интерфейса. Фундаментальный принцип. У архитектуры должен быть единообразный interface. Клиент должен всегда понимать, какие адреса и в каком форме будут получать запрос. Сервер - разбираться в форматах, выдаваемых в качестве ответов.</li>
113
<li>Единообразие интерфейса. Фундаментальный принцип. У архитектуры должен быть единообразный interface. Клиент должен всегда понимать, какие адреса и в каком форме будут получать запрос. Сервер - разбираться в форматах, выдаваемых в качестве ответов.</li>
114
<li>Слои. Подразумевается иерархия сетевых структур. Иногда client может обратиться к серверу напрямую, иногда - через промежуточный узел. Расслаивание системы устранит проблему загрузку servers.</li>
114
<li>Слои. Подразумевается иерархия сетевых структур. Иногда client может обратиться к серверу напрямую, иногда - через промежуточный узел. Расслаивание системы устранит проблему загрузку servers.</li>
115
<li>Код по требованию. Не является обязательным "критерием". Подразумевает, что client сможет расширить функциональность за счет загрузки кодов с серверов под видом апплетов и сценариев.</li>
115
<li>Код по требованию. Не является обязательным "критерием". Подразумевает, что client сможет расширить функциональность за счет загрузки кодов с серверов под видом апплетов и сценариев.</li>
116
</ol><p>Все это должен помнить разработчик веб-утилит и браузеров.</p>
116
</ol><p>Все это должен помнить разработчик веб-утилит и браузеров.</p>
117
<h3>Примеры запросов</h3>
117
<h3>Примеры запросов</h3>
118
<p>А вот так могут выглядеть клиентские запросы:</p>
118
<p>А вот так могут выглядеть клиентские запросы:</p>
119
<p>Ответы на аппаратном уровне включают в себя:</p>
119
<p>Ответы на аппаратном уровне включают в себя:</p>
120
<ul><li>код ответа;</li>
120
<ul><li>код ответа;</li>
121
<li>заголовок;</li>
121
<li>заголовок;</li>
122
<li>тело.</li>
122
<li>тело.</li>
123
</ul><p>Внешне ответ от запроса почти не отличается. Информация нередко возвращается в формате JSON. Пример - на GET-запросы.</p>
123
</ul><p>Внешне ответ от запроса почти не отличается. Информация нередко возвращается в формате JSON. Пример - на GET-запросы.</p>
124
<h2>Что поможет лучше понять API</h2>
124
<h2>Что поможет лучше понять API</h2>
125
<p>Лучше разобраться в серверах, REST, а также API и GUI помогут специализированные дистанционные компьютерные онлайн курсы. Они позволяют:</p>
125
<p>Лучше разобраться в серверах, REST, а также API и GUI помогут специализированные дистанционные компьютерные онлайн курсы. Они позволяют:</p>
126
<ul><li>учиться в удобное время;</li>
126
<ul><li>учиться в удобное время;</li>
127
<li>быстро вникать "с нуля" в программирование и IT-сферу;</li>
127
<li>быстро вникать "с нуля" в программирование и IT-сферу;</li>
128
<li>получать бесценную практику;</li>
128
<li>получать бесценную практику;</li>
129
<li>знакомиться с опытными кураторами-разработчиками;</li>
129
<li>знакомиться с опытными кураторами-разработчиками;</li>
130
<li>осваивать сразу несколько направлений в сжатые сроки - до 12 месяцев.</li>
130
<li>осваивать сразу несколько направлений в сжатые сроки - до 12 месяцев.</li>
131
</ul><p>По окончании курсов выдается сертификат установленного образца, подтверждающий навыки в выбранном направлении.</p>
131
</ul><p>По окончании курсов выдается сертификат установленного образца, подтверждающий навыки в выбранном направлении.</p>
132
<p>Хотите узнать больше об архитектуре ПО? Обратите внимание на<a>подборку курсов по IT-инфраструктуре</a>в Otus!</p>
132
<p>Хотите узнать больше об архитектуре ПО? Обратите внимание на<a>подборку курсов по IT-инфраструктуре</a>в Otus!</p>
133
133