RESTful системы: основные принципы и применение | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №13 (303) март 2020 г.

Дата публикации: 26.03.2020

Статья просмотрена: 449 раз

Библиографическое описание:

Гаврилюк, В. И. RESTful системы: основные принципы и применение / В. И. Гаврилюк, В. И. Гаврилюк. — Текст : непосредственный // Молодой ученый. — 2020. — № 13 (303). — С. 4-6. — URL: https://moluch.ru/archive/303/68397/ (дата обращения: 18.12.2024).



В этой статье речь пойдет о наиболее часто встречающейся архитектуре REST.

Ключевые слова: контроль информации сервиса, принцип работы, тип архитектуры, html, REST.

Эта технология получила свое распространение в 2000-ом году, после ее подробного описания в докторской диссертации под названием Architectural Styles and the Design of Network-based Software Architectures. Она была презентована Роем Филдингом, который является одним из создателей HyperText Transfer Protocol (далее HTTP).

REST расшифровывается как Representational State Transfer. Это специальный вид архитектуры программного обеспечения для различных распределенных систем. Наиболее часто такая архитектура применяется в системах для создания веб служб. Примером такой системы может служить World Wide Web. А все системы, которые используют данный тип архитектуры называются RESTful-системами. Принцип работы такой системы представлен на рис. 1.

C:\Users\ulha0217\Desktop\Rest-API.png

Рис. 1. Принцип работы RESTful системы

Отличительной особенностью всех RESTful-системам является простой интерфейс для контроля информации. Он не подразумевает наличия каких-либо внутренних уровней или подслоев. Каждый блок данных в такой системе имеет свой собственный уникальный специдентификатор. Примером такого идентификатора может служить Uniform Resource Locator(далее URL). Каждый URL-идентификатор имеет строгий формат. Таким образом можно утверждать, что URL — первичный ключ для объекта данных. В это же время не существует каких-либо требований к формату данных по данному ключу. Это может быть, как jpg-файл, так в тоже время это может быть HTML либо docx-документ.

Второй отличительной чертой для данного типа архитектуры является контроли информации сервиса, базирующийся на различных протоколах передачи данных. Самым же распространенным является протокол HTTP.

Любые манипуляции данными в рамках данного протокола осуществляются с использованием следующих методов:

GET — используется для получения данных

POST — используется для добавления, изменения и удаления данных

PUT — используется для добавления и изменения данных

DELETE — используется для удаления данных

HEAD — используется получения заголовка файла либо ресурса

CONNECT — используется для установки связи с сервером на базе какого-либо ресурса

OPTIONS — необходим для описания всех параметров для работы с данными сервера

PATCH — используется для местного изменения ресурсов

TRACE — используется для получения тестовых данных с сервера

Однако следует принимать во внимание, что все CRUD операции могут быть осуществлены как с использованием всех четырех методов, так и с использование только POST и GET. Дополнительный параметры каждого метода проиллюстрируем на рис.2.

C:\Users\ulha0217\Desktop\main-qimg-c60a21383f9c150c890222d248d83337.png

Рис. 2. Параметры HTTP методов

Алгоритм формирования REST запросов

На основании всего выше изложенного мы можем построить общий алгоритм для формирования запроса к серверу с использованием REST архитектуры:

Шаг 1 — необходимо сформировать URL по которому будет производиться запрос.

Шаг 2 — необходимо прописать все заголовки (например, Content-type, Authorization).

Шаг 3 — произвести выбор HTTP-запроса.

Шаг 4 — на данном шаге формируется тело запроса. Тип тела запроса должен быть сформирован в соответствии со значением заголовка Content-type.

Шаг 5 — произвести выполнение запроса.

Шаг 6 — произвести обработку полученных результатов.

Практическое применение REST архитектуры

Главным преимуществом REST сервисов является наличие полной совместимости с любой системой. Это обусловлено тем, что методы парсинга XML, а также выполнение запросов с использованием HTTP протокола используется повсеместно.

Литература:

  1. Jon Flanders. RESTful.NET: Build and Consume RESTful Web Services with.NET 3.5. — 1st Edition. — Sebastopol: O’Reilly Media, Inc., 2008. — 310 с.
  2. Balaji Varanasi. Spring Rest. — 1st Edition. — New-York: Apress Media LLC, 2015. — 222 с.
Основные термины (генерируются автоматически): REST, HTTP, URL, GET, POST, принцип работы, система, тип архитектуры, CONNECT, CRUD.


Ключевые слова

HTML, принцип работы, REST, контроль информации сервиса, тип архитектуры

Похожие статьи

Обзор технологии GraphQL

В статье рассматривается технология GraphQL, приводится обзор достоинств и недостатков, а также сравнение с REST технологией.

Обзор основных технологий контент-менеджмент системы Adobe Experience Manager

В представленной работе рассматриваются основные технологии контент-менеджмент системы Adobe Experience Manager: их возможности и схема взаимодействия. Данные основываются на открытых источниках документации технологий Apache Foundation, а так же офи...

Поисковые возможности контент-менеджмент системы Adobe Experience Manager

В представленной работе рассматриваются наиболее интересные и важные особенности поисковых движков и способы конструирования индексации с целью повышения скорости поиска в рамках контент-менеджмент системы Adobe Experience Manager. Данные основываютс...

Использование концепции интегрированных систем управления данными

В статье рассматриваются основные концепции при выборе систем управления контентом. Авторы опираются на данные исследовательских компаний IDC и W3Techs и делают выводы, используя свой практический опыт.

IRC сеть и возможные методы ее реализации

В статье дается краткое описание IRC (Internet relay chat) протокола и его особенностей. Описываются возможные программные решения для реализации собственного IRC сервера.

Абстрактные и динамически сгенерированные контроллеры в ASP.NET

В данной статье будет рассмотрен подход автоматически сгенерированных контроллеров в одной из самых популярных технологий для написания веб-сайтов — ASP.NET Core MVC.

Исследование уязвимостей протокола OAuth

В статье авторы пытаются определить основные уязвимости в открытом протоколе авторизации — OAuth. Рассматривают критичные уязвимости, найденные в популярных сервисах.

Создание BPM-системы на основе базы данных SQL при поддержке технологии REST API

В статье авторы пытаются определить технологии и механизмы работы bpm системы, написанной на чистом SQL, при поддержке технологии REST API для интероперабельности системы.

Работа с баг-трекером: эффективное управление ошибками в разработке программного обеспечения

В данной статье автор рассмотрел ключевые аспекты использования баг-трекера в разработке программного обеспечения от отслеживания багов и их структурирования до интеграции с другими инструментами.

Диагностика утечек памяти в Java-приложениях

Данная статья описывает структуру хранения используемой памяти, простые способы диагностики её утечек и временные исправления их.

Похожие статьи

Обзор технологии GraphQL

В статье рассматривается технология GraphQL, приводится обзор достоинств и недостатков, а также сравнение с REST технологией.

Обзор основных технологий контент-менеджмент системы Adobe Experience Manager

В представленной работе рассматриваются основные технологии контент-менеджмент системы Adobe Experience Manager: их возможности и схема взаимодействия. Данные основываются на открытых источниках документации технологий Apache Foundation, а так же офи...

Поисковые возможности контент-менеджмент системы Adobe Experience Manager

В представленной работе рассматриваются наиболее интересные и важные особенности поисковых движков и способы конструирования индексации с целью повышения скорости поиска в рамках контент-менеджмент системы Adobe Experience Manager. Данные основываютс...

Использование концепции интегрированных систем управления данными

В статье рассматриваются основные концепции при выборе систем управления контентом. Авторы опираются на данные исследовательских компаний IDC и W3Techs и делают выводы, используя свой практический опыт.

IRC сеть и возможные методы ее реализации

В статье дается краткое описание IRC (Internet relay chat) протокола и его особенностей. Описываются возможные программные решения для реализации собственного IRC сервера.

Абстрактные и динамически сгенерированные контроллеры в ASP.NET

В данной статье будет рассмотрен подход автоматически сгенерированных контроллеров в одной из самых популярных технологий для написания веб-сайтов — ASP.NET Core MVC.

Исследование уязвимостей протокола OAuth

В статье авторы пытаются определить основные уязвимости в открытом протоколе авторизации — OAuth. Рассматривают критичные уязвимости, найденные в популярных сервисах.

Создание BPM-системы на основе базы данных SQL при поддержке технологии REST API

В статье авторы пытаются определить технологии и механизмы работы bpm системы, написанной на чистом SQL, при поддержке технологии REST API для интероперабельности системы.

Работа с баг-трекером: эффективное управление ошибками в разработке программного обеспечения

В данной статье автор рассмотрел ключевые аспекты использования баг-трекера в разработке программного обеспечения от отслеживания багов и их структурирования до интеграции с другими инструментами.

Диагностика утечек памяти в Java-приложениях

Данная статья описывает структуру хранения используемой памяти, простые способы диагностики её утечек и временные исправления их.

Задать вопрос